/*
Theme Name: Teletechnet
Author: TELETECHNET
Description: Autorski motyw firmowy: zabezpieczenia, automatyka i teletechnika.
Version: 1.1.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: teletechnet
License: GPL v2 or later
*/
:root{--navy:#102535;--ink:#152f3e;--muted:#576974;--paper:#f5f7f7;--line:#dce4e6;--accent:#b9f078;--width:1180px}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.7 'Segoe UI',Arial,sans-serif}a{color:inherit}a:focus-visible,button:focus-visible{outline:3px solid #679b35;outline-offset:5px}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.12;letter-spacing:-.04em}h1{font-size:clamp(40px,5.4vw,76px);font-weight:600}h2{font-size:clamp(30px,3.1vw,45px);font-weight:600}h3{font-size:25px;font-weight:600}p{margin-bottom:20px}.container,.entry{width:min(var(--width),calc(100% - 64px));margin:auto}.skip{position:absolute;left:-9999px}.skip:focus{left:20px;top:10px;z-index:99;background:white;padding:10px}.site-header{background:white;border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:100px}.brand{text-decoration:none;line-height:1.2;display:flex;align-items:center;gap:12px}.brand-mark{display:grid;place-items:center;width:43px;height:43px;border:2px solid var(--ink);font-size:21px;font-weight:700;transform:skewY(-8deg)}.brand strong{font-size:25px;letter-spacing:-.06em}.brand small{display:block;font-size:10px;letter-spacing:.17em;margin-top:5px}.nav{display:flex;gap:30px;align-items:center}.nav a{text-decoration:none;font-size:15px;font-weight:600;padding:10px 0}.nav a[aria-current=page],.nav .current-menu-item a{border-bottom:2px solid #76aa42}.nav ul{display:flex;list-style:none;gap:30px;margin:0;padding:0}.header-phone{font-size:14px;border:1px solid var(--line);padding:9px 14px!important;border-radius:4px}.hero{background:var(--navy);color:white;overflow:hidden}.hero-inner{display:grid;grid-template-columns:1.08fr 1fr;gap:40px;align-items:center;padding:80px 0 60px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.15em;display:block;margin-bottom:24px}.hero .eyebrow{color:var(--accent)}.hero h1{max-width:650px;margin-bottom:25px}.hero h1 span{color:var(--accent)}.hero-description{color:#b6c7d0;max-width:480px;font-size:18px}.hero-actions{display:flex;gap:20px;align-items:center;margin-top:32px;flex-wrap:wrap}.button{display:inline-flex;gap:28px;align-items:center;padding:14px 22px;background:var(--accent);color:var(--navy);text-decoration:none;font-size:14px;font-weight:700;border-radius:3px}.button:hover{background:#cef5a2}.hero .text-link{color:white}.text-link{font-size:14px;font-weight:600;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:5px}.hero-note{display:flex;gap:18px;border-top:1px solid #344956;padding-top:23px;margin-top:40px;font-size:12px;color:#aabec8}.hero-note b{color:white}.technical{width:100%;max-width:530px;display:block}.hero-bottom{border-top:1px solid #344956;display:flex;justify-content:space-between;padding:18px 0;font-size:11px;letter-spacing:.12em;color:#aabec8}.hero-bottom span:first-child{color:var(--accent)}.intro{padding:90px 0 35px;max-width:780px}.intro p:last-child{max-width:650px;color:var(--muted)}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line);margin:25px 0 80px}.service{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:32px;min-height:260px;background:white}.service h3{font-size:24px;max-width:290px}.service>p:last-child{color:var(--muted);font-size:15px;margin-bottom:0}.number{font:12px/1 monospace;color:#69818d}.about-strip{border-left:3px solid #87b750;padding:35px 40px;background:#eaf0ed;margin:50px 0 70px}.about-strip p{max-width:800px}.about-strip p:last-child{margin-bottom:0}.cta{background:var(--navy);color:white;padding:50px;position:relative;margin:65px 0 80px}.cta h2{max-width:650px}.cta>p{color:#c4d1d7}.cta>p:last-child{margin-bottom:0}.page-heading{padding:65px 0 35px;background:#e8eeef;border-bottom:1px solid var(--line)}.page-heading h1{font-size:55px;margin:0}.breadcrumb{font-size:12px;color:var(--muted);margin-bottom:20px}.entry.inner{padding-top:65px}.entry.inner>p{max-width:850px;color:var(--muted)}.entry.inner>h2{max-width:800px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:40px}.step>p:first-child{font-size:12px;letter-spacing:.1em}.step>p:last-child{font-size:15px;color:var(--muted)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:45px}.contact-box{background:white;border:1px solid var(--line);padding:35px}.contact-box h3{font-size:16px;letter-spacing:0}.contact-big{font-size:clamp(23px,3vw,38px);letter-spacing:-.035em;text-decoration:none}.contact-box>p:last-child{font-size:14px;color:var(--muted);margin-bottom:0}.address{margin:40px 0 80px}.site-footer{background:#0b1c28;color:#bfced6;padding:45px 0 25px}.footer-top{display:flex;justify-content:space-between;gap:35px;padding-bottom:40px}.footer-top .brand{color:white}.footer-top p{font-size:13px;margin:15px 0 0;max-width:390px}.footer-contact a{display:block;text-decoration:none;color:white}.footer-bottom{border-top:1px solid #30424f;padding-top:20px;display:flex;justify-content:space-between;gap:20px;font-size:11px}.menu-toggle{display:none}.wp-block-image img{max-width:100%;height:auto}.alignwide{width:100%}.wp-block-button__link{background:var(--navy);color:white}.content-empty{padding:60px 0}.admin-bar .site-header{margin-top:0}@media(max-width:1000px){.header-phone{display:none}.nav{gap:20px}.hero-inner{gap:10px}.service{padding:25px}.contact-big.email{font-size:27px}}@media(max-width:720px){.container,.entry{width:calc(100% - 36px)}.header-inner{min-height:80px;flex-wrap:wrap;gap:0;padding:15px 0}.brand strong{font-size:21px}.brand small{font-size:8px}.brand-mark{width:35px;height:35px}.menu-toggle{display:block;background:none;border:1px solid var(--line);padding:7px 11px;color:var(--ink);font:14px 'Segoe UI',sans-serif}.nav{display:none;width:100%;padding-top:15px;gap:24px;flex-wrap:wrap}.nav.is-open{display:flex}.nav ul{gap:20px;flex-wrap:wrap}.hero-inner{grid-template-columns:1fr;padding:48px 0 20px;gap:25px}.hero h1{font-size:46px}.hero-description{font-size:16px}.technical{max-width:420px;margin:auto}.hero-bottom{font-size:9px;gap:12px;flex-wrap:wrap}.hero-note{margin-top:30px}.services{grid-template-columns:1fr;margin-bottom:45px}.service{min-height:0;padding:25px}.service h3{max-width:none}.intro{padding:55px 0 20px}.cta{padding:30px 25px;margin:45px 0}.about-strip{padding:28px 25px;margin:35px 0}.steps,.contact-grid{grid-template-columns:1fr;gap:20px}.page-heading{padding:40px 0 30px}.page-heading h1{font-size:42px}.entry.inner{padding-top:40px}.footer-top,.footer-bottom{flex-direction:column}.footer-top{gap:25px}.footer-bottom{gap:8px}.contact-box{padding:25px}}@media(prefers-reduced-motion:no-preference){a{transition:background .15s,color .15s}}
/* Classic WordPress group wrappers must not become a single grid cell. */
.services > .wp-block-group__inner-container,
.steps > .wp-block-group__inner-container,
.contact-grid > .wp-block-group__inner-container {
  display: contents;
}
.services > .wp-block-group__inner-container > .service,
.steps > .wp-block-group__inner-container > .step,
.contact-grid > .wp-block-group__inner-container > .contact-box {
  margin-block-start: 0;
  margin-block-end: 0;
}

/* Firmowe logo */
.company-logo{display:block;width:auto;height:56px;max-width:120px;object-fit:contain;flex-shrink:0}.brand:has(.company-logo){flex-shrink:0}.brand-copy{display:block}.site-footer .company-logo{height:68px;max-width:120px}.site-footer .brand:has(.company-logo){display:inline-flex;background:transparent;padding:0;border-radius:0}.logo-recolor{filter:url(#ttn-light-logo)}@media(max-width:720px){.company-logo{height:44px;max-width:80px}.site-footer .company-logo{height:56px}.brand{gap:10px}.brand strong{font-size:20px}.brand small{font-size:8px;letter-spacing:.12em}}

.brand-tagline small{margin:0;font-size:12px;font-weight:600;letter-spacing:.09em;line-height:1.6}.brand:has(.brand-tagline){gap:18px}@media(max-width:720px){.brand-tagline small{font-size:10px;letter-spacing:.07em}.brand:has(.brand-tagline){gap:12px}}
