/*
Theme Name: Tirupati Metal
Theme URI: https://tiruptimetal.local
Author: Tirupati Metal
Description: Custom WordPress theme for Tirupati Metal, converted from static HTML/CSS design.
Version: 1.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: tirupati-metal
*/

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Manrope',system-ui,sans-serif;color:#16243d;background:#fff;-webkit-font-smoothing:antialiased}
::selection{background:#e8420f;color:#fff}
a{color:inherit;text-decoration:none}
a:hover{color:#e8420f}
@keyframes kenburns{from{transform:scale(1)}to{transform:scale(1.13)}}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* Home hero slider */
.tm-hero-slides{position:absolute;inset:0}
.tm-hero-slide{position:absolute;inset:0;opacity:0;z-index:0;transition:opacity 1.2s ease}
.tm-hero-slide.is-active{opacity:1;z-index:1}
.tm-hero-text{display:none}
.tm-hero-text.is-active{display:block;animation:tmHeroTextIn .6s ease}
@keyframes tmHeroTextIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.tm-hero-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.08);color:#fff;font-size:22px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease}
.tm-hero-arrow:hover{background:rgba(255,255,255,.22);color:#fff}
.tm-hero-prev{left:20px}
.tm-hero-next{right:20px}
.tm-hero-dots{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);z-index:5;display:flex;gap:8px}
.tm-hero-dot{width:9px;height:9px;border-radius:50%;border:none;background:rgba(255,255,255,.35);cursor:pointer;padding:0;transition:background .2s ease,width .2s ease}
.tm-hero-dot.is-active{background:#e8420f;width:22px;border-radius:5px}

/* Scroll-reveal */
.tm-reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.tm-reveal.is-visible{opacity:1;transform:translateY(0)}
@media (prefers-reduced-motion: reduce){
  .tm-reveal{opacity:1;transform:none;transition:none}
}

/* Card hover animation */
.tm-hover-card{transition:transform .35s ease,box-shadow .35s ease}
.tm-hover-card:hover{transform:translateY(-8px);box-shadow:0 20px 40px rgba(10,15,25,.28)}
.tm-hover-zoom{transition:transform .5s ease}
.tm-hover-card:hover .tm-hover-zoom{transform:scale(1.08)}

/* Category product grid card (image tile + circular button) */
.tm-prod-card{transition:transform .3s ease}
.tm-prod-card:hover{transform:translateY(-6px)}
.tm-prod-card .tm-prod-btn{transition:background .2s ease,transform .2s ease}
.tm-prod-card:hover .tm-prod-btn{background:#e8420f;transform:translateX(2px)}
.tm-prod-card:hover .tm-hover-zoom{transform:scale(1.06)}
.tm-prod-card h3{transition:color .2s ease}
.tm-prod-card:hover h3{color:#e8420f}

/* Contact Form 7 */
.wpcf7-form p{margin:0}
.tm-input{width:100%;border:1px solid #d4deeb;border-radius:7px;padding:12px 14px;font-family:'Manrope',sans-serif;font-size:14px;background:#fff;color:#16243d}
textarea.tm-input{min-height:120px;resize:vertical}
.tm-submit-btn{font-family:'Manrope',sans-serif;font-weight:700;font-size:15px;background:#e8420f;color:#fff;border:none;padding:15px 30px;border-radius:7px;cursor:pointer;box-shadow:0 10px 26px rgba(232,66,15,.28)}
.tm-submit-btn:hover{color:#fff;opacity:.92}
.wpcf7-not-valid-tip{color:#e8420f;font-size:12px;margin-top:4px;display:block}
.wpcf7-response-output{margin-top:16px;padding:12px 14px;border-radius:7px;font-size:14px;border:1px solid #d4deeb}
.wpcf7-form.sent .wpcf7-response-output{border-color:#2e9e5b;color:#1e7e34}
.wpcf7-form.invalid .wpcf7-response-output,.wpcf7-form.unaccepted .wpcf7-response-output{border-color:#e8420f;color:#e8420f}
.wpcf7-spinner{margin-left:10px}

/* Hero quote widget (dark, on hero background) */
.tm-hero-quote-form .wpcf7-form{display:flex;flex-direction:column;gap:12px}
.tm-hero-quote-form .wpcf7-form-control-wrap{display:block}
.tm-hero-quote-form input[type=text],
.tm-hero-quote-form input[type=email],
.tm-hero-quote-form input[type=tel],
.tm-hero-quote-form select{display:block;width:100%;box-sizing:border-box;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.04);border-radius:6px;padding:12px 14px;font-family:'Manrope',sans-serif;font-size:14px;line-height:1.3;color:#fff;appearance:none;-webkit-appearance:none}
.tm-hero-quote-form select{color:#aab6c6;background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23aab6c6'%3E%3Cpath d='M5.5 7.5l4.5 4.5 4.5-4.5' stroke='%23aab6c6' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}
.tm-hero-quote-form select option{color:#0c1420}
.tm-hero-quote-form input[type=submit]{display:block;width:100%;text-align:center;font-family:'Manrope',sans-serif;font-weight:700;font-size:15px;background:#e8420f;color:#fff;border:none;padding:14px;border-radius:6px;cursor:pointer;box-sizing:border-box}
.tm-hero-quote-form input[type=submit]:hover{opacity:.92}
.tm-hero-quote-form .wpcf7-not-valid-tip{color:#ffb4a3;font-size:12px;margin-top:6px;display:block}
.tm-hero-quote-form .wpcf7-response-output{margin-top:0;padding:10px 12px;border-radius:6px;font-size:13px;border:1px solid rgba(255,255,255,.25);color:#fff}
.tm-hero-quote-form .wpcf7-spinner{display:block;margin:8px auto 0}

/* ==========================================================================
   Site chrome — page wrapper, topbar, header nav (converted from inline)
   ========================================================================== */
.tm-page{min-height:100vh;background:#fff}
.tm-topbar{background:#0a1f3c;color:#aebfd6;font-size:13px;letter-spacing:.02em}
.tm-topbar-inner{max-width:1280px;margin:0 auto;padding:9px 32px;display:flex;justify-content:space-between;align-items:center}
.tm-topbar-left{display:flex;gap:24px;align-items:center}
.tm-topbar-right{display:flex;gap:22px;align-items:center}
.tm-topbar-sep{opacity:.4}
.tm-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-bottom:1px solid #e6ebf2}
.tm-nav{max-width:1280px;margin:0 auto;padding:16px 28px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.tm-logo{display:flex;align-items:center;cursor:pointer}
.tm-logo img{height:40px;width:auto;display:block}
.tm-nav-links{display:flex;align-items:center;gap:6px}
.tm-nav-link{font-size:13.5px;font-weight:600;color:#33476b;padding:8px 10px;cursor:pointer;border-radius:5px;letter-spacing:0;white-space:nowrap}
.tm-nav-link.is-active{color:#e8420f}
.tm-submenu-trigger{font-size:13.5px;font-weight:600;color:#33476b;padding:8px 10px;cursor:pointer;border-radius:5px;letter-spacing:0;white-space:nowrap;display:inline-flex;align-items:center;gap:5px}
.tm-submenu-trigger.is-active{color:#e8420f}
.tm-nav-cta{font-family:'Manrope';font-weight:700;font-size:14px;background:#e8420f;color:#fff;border:none;padding:12px 22px;border-radius:5px;cursor:pointer;white-space:nowrap;box-shadow:0 6px 18px rgba(232,66,15,.28);display:inline-block}
.tm-nav-cta-mobile{display:none;font-family:'Manrope';font-weight:700;font-size:14px;background:#e8420f;color:#fff;padding:12px 22px;border-radius:5px;margin-top:8px}

/* ---- Footer (converted from inline) ---- */
.tm-footer{background:#0a1f3c;color:#aebfd6}
.tm-footer-grid{max-width:1280px;margin:0 auto;padding:72px 32px 40px;display:grid;grid-template-columns:1.6fr 1fr 1fr 1.3fr;gap:48px}
.tm-foot-logo{height:36px;width:auto;display:block;margin-bottom:14px;background:#fff;border-radius:4px;padding:4px 8px}
.tm-foot-desc{font-size:14px;line-height:1.7;max-width:300px;color:#90a3c2}
.tm-foot-social{display:flex;gap:10px;margin-top:22px}
.tm-foot-chip{width:38px;height:38px;border:1px solid #2a3f5f;border-radius:5px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#90a3c2;cursor:pointer}
.tm-foot-heading{font-family:'Archivo';font-weight:700;font-size:13px;letter-spacing:.12em;color:#fff;margin-bottom:18px}
.tm-foot-links{display:flex;flex-direction:column;gap:12px}
.tm-foot-link{font-size:14px;color:#90a3c2;cursor:pointer}
.tm-foot-address{display:block;font-size:14px;line-height:1.7;color:#90a3c2}
.tm-foot-contact{font-size:14px;line-height:1.7;color:#90a3c2;margin-top:12px}
.tm-foot-contact a{color:#90a3c2}
.tm-foot-bottom{border-top:1px solid #1c3052}
.tm-foot-bottom-inner{max-width:1280px;margin:0 auto;padding:22px 32px;display:flex;justify-content:space-between;font-size:13px;color:#6f84a6;flex-wrap:wrap;gap:10px}
.tm-foot-bottom-inner a{color:#6f84a6;cursor:pointer}
@media (max-width:900px) and (min-width:641px){
  .tm-footer-grid{grid-template-columns:1fr 1fr;gap:36px}
}
@media (max-width:640px){
  .tm-footer-grid{grid-template-columns:1fr;gap:36px}
  .tm-foot-desc{max-width:100%}
  .tm-foot-social{flex-wrap:wrap}
  .tm-foot-bottom-inner{flex-direction:column;align-items:flex-start;gap:8px}
}

/* ---- Shared building blocks (converted from inline) ---- */
.tm-container{max-width:1280px;margin:0 auto;padding:0 32px}
.tm-hero{background:#0a1f3c;color:#fff;padding:72px 0 64px;position:relative;overflow:hidden}
.tm-hero-pattern{position:absolute;inset:0;background-image:repeating-linear-gradient(115deg,rgba(255,255,255,.025) 0 1px,transparent 1px 40px)}
.tm-hero-inner{position:relative;max-width:1280px;margin:0 auto;padding:0 32px}
.tm-crumb{font-size:13px;letter-spacing:.04em;color:#7c92b5;font-weight:600;margin-bottom:14px}
.tm-crumb a{color:#7c92b5}
.tm-hero-title{font-family:'Archivo';font-weight:900;font-size:52px;letter-spacing:-.02em;line-height:1.05;max-width:780px}
.tm-hero-sub{font-size:18px;color:#b4c5de;max-width:620px;margin-top:18px;line-height:1.6}
.tm-btn-primary{font-family:'Manrope';font-weight:700;font-size:15px;background:#e8420f;color:#fff;border:none;padding:15px 30px;border-radius:6px;cursor:pointer;box-shadow:0 10px 26px rgba(232,66,15,.28);display:inline-block}
.tm-inherit{color:inherit}

/* ---- Button hover states ---- */
.tm-btn-primary,.tm-btn-hero,.tm-btn-ghost,.tm-btn-dark,.tm-btn-soft,.tm-nav-cta,.tm-nav-cta-mobile{transition:background .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease}
.tm-btn-primary:hover,.tm-btn-hero:hover{background:#c9380c;color:#fff;transform:translateY(-2px);box-shadow:0 14px 30px rgba(232,66,15,.38)}
.tm-nav-cta:hover,.tm-nav-cta-mobile:hover{background:#c9380c;color:#fff;transform:translateY(-2px);box-shadow:0 10px 24px rgba(232,66,15,.38)}
.tm-btn-dark:hover{background:#16243d;color:#fff;transform:translateY(-2px)}
.tm-btn-ghost:hover{background:rgba(255,255,255,.14);color:#fff;border-color:rgba(255,255,255,.55)}
.tm-btn-soft:hover{background:#f8cdbd;color:#e8420f}

/* ---- Single product page (converted from inline) ---- */
.tm-prod-hero-back{font-size:14px;color:#b4c5de;margin-top:14px}
.tm-prod-hero-back a{color:#e8420f;font-weight:700}
.tm-prod-section{padding:84px 0 0;background:#fff}
.tm-prod-grid{max-width:1280px;margin:0 auto;padding:0 32px;display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.tm-prod-image{position:relative;overflow:hidden;border-radius:14px;height:400px;background:#f6f7f9}
.tm-prod-image-bg{position:absolute;inset:0;background-position:center;background-size:cover}
.tm-prod-eyebrow{font-family:'Archivo';font-weight:700;font-size:13px;letter-spacing:.16em;color:#e8420f;margin-bottom:14px}
.tm-prod-title{font-family:'Archivo';font-weight:800;font-size:32px;letter-spacing:-.02em;color:#0a1f3c;margin-bottom:18px}
.tm-prod-desc{font-size:16px;line-height:1.75;color:#51607a;margin-bottom:30px}
.tm-spec-section{padding:56px 0 84px;background:#fff}
.tm-spec-card{border:1px solid #e6ebf2;border-radius:14px;padding:36px 40px;background:#fafbfd}
.tm-spec-heading{font-family:'Archivo';font-weight:800;font-size:22px;color:#0a1f3c;margin-bottom:20px}
.tm-spec-scroll{overflow-x:auto}
.tm-spec-table{width:100%;border-collapse:collapse;font-family:'Manrope',sans-serif}
.tm-spec-table thead tr{border-bottom:2px solid #e8420f}
.tm-spec-table tbody tr{border-bottom:1px solid #e6ebf2}
.tm-spec-table th{text-align:left;padding:10px 16px 12px;font-size:13px;font-weight:700;color:#0a1f3c}
.tm-spec-table td{padding:12px 16px;font-size:14.5px;color:#51607a}
.tm-spec-table th:first-child,.tm-spec-table td:first-child{padding-left:0}
.tm-spec-size{color:#0a1f3c;font-weight:600}
@media (max-width:640px){
  .tm-container,.tm-hero-inner,.tm-prod-grid,.tm-prod-section > .tm-prod-grid{padding-left:20px;padding-right:20px}
  .tm-hero{padding:40px 0 32px}
  .tm-hero-title{font-size:30px}
  .tm-prod-section{padding:48px 0 0}
  .tm-spec-section{padding:32px 0 48px}
  .tm-prod-grid{grid-template-columns:1fr}
  .tm-prod-title{font-size:22px}
  .tm-spec-heading{font-size:19px}
}
@media (max-width:900px) and (min-width:641px){
  .tm-hero-title{font-size:40px}
}

/* ---- Category (taxonomy) page (converted from inline) ---- */
.tm-cat-cover{position:relative;overflow:hidden;border-radius:14px;aspect-ratio:3/2;background-color:#f6f7f9;background-position:center;background-size:cover;background-repeat:no-repeat}
.tm-cat-about-desc{font-size:16px;line-height:1.75;color:#51607a}
.tm-cat-products{padding:84px 0}
.tm-cat-products-head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:20px;margin-bottom:36px}
.tm-cat-products-title{font-family:'Archivo';font-weight:800;font-size:28px;letter-spacing:-.02em;color:#0a1f3c}
.tm-all-cats-link{font-size:14px;font-weight:700;color:#e8420f;cursor:pointer}
.tm-cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.tm-cat-empty{font-size:15px;color:#51607a}
.tm-prod-card{display:flex;flex-direction:column;text-decoration:none;cursor:pointer}
.tm-prod-card-tile{position:relative;overflow:hidden;background:#f2f4f7;border-radius:16px;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;padding:24px}
.tm-prod-card-img{width:100%;height:100%;background-position:center;background-size:contain;background-repeat:no-repeat}
.tm-prod-card-foot{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:18px 4px 0}
.tm-prod-card-label{font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#8a97ab;margin-bottom:7px}
.tm-prod-card-title{font-family:'Archivo';font-weight:700;font-size:18px;color:#0a1f3c;line-height:1.25}
.tm-prod-btn{flex:0 0 auto;width:44px;height:44px;border-radius:50%;background:#0a1f3c;color:#fff;display:flex;align-items:center;justify-content:center;font-size:17px}
.tm-cta-band{background:#f7f9fc;padding:72px 0}
.tm-cta-band-inner{max-width:1280px;margin:0 auto;padding:0 32px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:22px}
.tm-cta-band-title{font-family:'Archivo';font-weight:800;font-size:30px;letter-spacing:-.02em;color:#0a1f3c;margin-bottom:8px}
.tm-cta-band-text{font-size:16px;color:#51607a}

/* ---- Products index page + reusable pieces (converted from inline) ---- */
.tm-section-white{padding:84px 0;background:#fff}
.tm-btn-soft{font-family:'Manrope';font-weight:700;font-size:13.5px;background:#fde3d8;color:#e8420f;border:none;padding:10px 18px;border-radius:5px;cursor:pointer;display:inline-block;align-self:flex-start;margin-top:auto}
.tm-cat-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.tm-cat-card{border:1px solid #e6ebf2;border-radius:12px;overflow:hidden;background:#fff;display:flex;flex-direction:column;text-decoration:none;color:inherit;cursor:pointer}
.tm-cat-card:hover .tm-btn-soft{background:#f8cdbd}
.tm-cat-card-media{position:relative;overflow:hidden;height:190px}
.tm-cat-card-img{height:100%;background-position:center;background-size:cover}
.tm-cat-card-body{padding:26px 24px 28px;flex:1;display:flex;flex-direction:column}
.tm-cat-card-title{font-family:'Archivo';font-weight:700;font-size:20px;color:#0a1f3c;margin-bottom:10px}
.tm-cat-card-desc{font-size:14.5px;line-height:1.65;color:#51607a;margin-bottom:18px}
@media (max-width:640px){
  .tm-section-white{padding:48px 0}
  .tm-cat-card-grid{grid-template-columns:1fr}
}

/* ---- Contact page (converted from inline) ---- */
.tm-contact-grid{max-width:1280px;margin:0 auto;padding:0 32px;display:grid;grid-template-columns:1.2fr 1fr;gap:56px}
.tm-contact-form-col{border:1px solid #e6ebf2;border-radius:14px;padding:40px;background:#fafbfd}
.tm-contact-heading{font-family:'Archivo';font-weight:800;font-size:26px;color:#0a1f3c;margin-bottom:24px}
.tm-offices{display:flex;flex-direction:column;gap:18px}
.tm-office{border:1px solid #e6ebf2;border-radius:10px;padding:24px}
.tm-office-name{font-family:'Archivo';font-weight:700;font-size:17px;color:#0a1f3c;margin-bottom:10px}
.tm-office-addr{font-size:14.5px;line-height:1.6;color:#51607a}
.tm-office-phone{font-size:14.5px;color:#e8420f;font-weight:700;margin-top:8px}
.tm-office-map{position:relative;overflow:hidden;border-radius:10px;height:220px;border:1px solid #e6ebf2}
.tm-office-map iframe{border:0;width:100%;height:100%}
@media (max-width:640px){
  .tm-contact-grid{grid-template-columns:1fr;padding-left:20px;padding-right:20px}
  .tm-contact-heading{font-size:19px}
}

/* ---- About page (converted from inline) ---- */
.tm-eyebrow-accent{font-family:'Archivo';font-weight:700;font-size:13px;letter-spacing:.16em;color:#e8420f;margin-bottom:14px}
.tm-mb48{margin-bottom:48px}
.tm-about-who-grid{max-width:1280px;margin:0 auto;padding:0 32px;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.tm-about-who-h2{font-family:'Archivo';font-weight:800;font-size:34px;line-height:1.15;letter-spacing:-.02em;color:#0a1f3c;margin-bottom:20px}
.tm-about-who-p{font-size:16px;line-height:1.75;color:#51607a}
.tm-about-who-p + .tm-about-who-p{margin-top:16px}
.tm-about-who-img{position:relative;overflow:hidden;border-radius:12px;height:380px;background-position:center;background-size:cover}
.tm-journey{padding:84px 0;background:#f7f9fc}
.tm-about-h2{font-family:'Archivo';font-weight:800;font-size:36px;letter-spacing:-.02em;color:#0a1f3c}
.tm-milestones-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.tm-milestone{background:#fff;border:1px solid #e6ebf2;border-radius:10px;padding:28px 24px;border-top:3px solid #e8420f}
.tm-milestone-year{font-family:'Archivo';font-weight:900;font-size:30px;color:#e8420f}
.tm-milestone-title{font-family:'Archivo';font-weight:700;font-size:17px;color:#0a1f3c;margin:8px 0 10px}
.tm-milestone-desc{font-size:14px;line-height:1.6;color:#51607a}
.tm-about-values-head{text-align:center;max-width:620px;margin:0 auto 48px}
.tm-values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.tm-value{border:1px solid #e6ebf2;border-radius:10px;padding:34px 30px;background:#fafbfd}
.tm-value-title{font-family:'Archivo';font-weight:800;font-size:20px;color:#0a1f3c;margin-bottom:12px}
.tm-value-desc{font-size:15px;line-height:1.7;color:#51607a}
@media (max-width:900px) and (min-width:641px){
  .tm-milestones-grid{grid-template-columns:repeat(2,1fr)}
  .tm-values-grid{grid-template-columns:repeat(2,1fr)}
}

/* ---- Quality page (converted from inline) ---- */
.tm-mb46{margin-bottom:46px}
.tm-section-gray{padding:84px 0;background:#f7f9fc}
.tm-cert-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.tm-cert{border:1px solid #e6ebf2;border-radius:10px;padding:30px 28px;background:#fafbfd;display:flex;gap:18px;align-items:flex-start}
.tm-cert-ico{flex:0 0 46px;height:46px;border-radius:8px;background:#fde3d8;display:flex;align-items:center;justify-content:center;color:#e8420f;font-weight:800;font-family:'Archivo';font-size:18px}
.tm-cert-title{font-family:'Archivo';font-weight:700;font-size:17px;color:#0a1f3c;margin-bottom:5px}
.tm-cert-desc{font-size:14px;line-height:1.55;color:#51607a}
.tm-qa-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.tm-qa{background:#fff;border:1px solid #e6ebf2;border-radius:10px;padding:30px 26px}
.tm-qa-dot{width:14px;height:14px;border-radius:50%;background:#e8420f;margin-bottom:18px;box-shadow:0 0 0 5px #fde3d8}
.tm-qa-title{font-family:'Archivo';font-weight:700;font-size:18px;color:#0a1f3c;margin-bottom:10px}
.tm-qa-desc{font-size:14px;line-height:1.65;color:#51607a}
@media (max-width:900px) and (min-width:641px){
  .tm-cert-grid{grid-template-columns:repeat(2,1fr)}
  .tm-qa-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
  .tm-section-gray{padding:48px 0}
  .tm-cert-grid,.tm-qa-grid{grid-template-columns:1fr}
}

/* ---- Infrastructure page (converted from inline) ---- */
.tm-infra-stats{background:#fff;border-bottom:1px solid #e6ebf2}
.tm-infra-stats-grid{max-width:1280px;margin:0 auto;padding:0 32px;display:grid;grid-template-columns:repeat(4,1fr)}
.tm-infra-stat{padding:40px 24px;text-align:center;border-right:1px solid #eef2f7}
.tm-infra-stat-num{font-family:'Archivo';font-weight:800;font-size:38px;color:#e8420f;letter-spacing:-.02em}
.tm-infra-stat-label{font-size:14px;color:#51607a;margin-top:6px;font-weight:600}
.tm-infra-grid{max-width:1280px;margin:0 auto;padding:0 32px;display:grid;grid-template-columns:1fr 1fr;gap:24px}
.tm-infra-card{display:flex;gap:22px;align-items:stretch;border:1px solid #e6ebf2;border-radius:12px;overflow:hidden}
.tm-infra-card-media{flex:0 0 150px;position:relative;overflow:hidden;background-position:center;background-size:cover}
.tm-infra-card-body{padding:26px 26px 26px 4px}
.tm-infra-card-title{font-family:'Archivo';font-weight:700;font-size:20px;color:#0a1f3c;margin-bottom:10px}
.tm-infra-card-desc{font-size:14.5px;line-height:1.65;color:#51607a}
.tm-infra-gallery-section{padding:0 0 84px;background:#fff}
.tm-infra-gallery{position:relative;overflow:hidden;border-radius:14px;height:360px;background-position:center;background-size:cover}
@media (max-width:900px) and (min-width:641px){
  .tm-infra-stats-grid{grid-template-columns:repeat(2,1fr)}
}

/* ---- Privacy / prose page (converted from inline) ---- */
.tm-prose{max-width:820px;margin:0 auto;padding:0 32px;display:flex;flex-direction:column;gap:38px}
.tm-prose-h2{font-family:'Archivo';font-weight:800;font-size:22px;color:#0a1f3c;margin-bottom:12px}
.tm-prose-p{font-size:15.5px;line-height:1.75;color:#51607a}
.tm-prose-divider{border-top:1px solid #e6ebf2;padding-top:30px}
@media (max-width:640px){
  .tm-prose{padding-left:20px;padding-right:20px}
  .tm-prose-h2{font-size:19px}
}

/* ---- Generic page.php / index.php fallbacks (converted from inline) ---- */
.tm-page-content{max-width:820px;margin:0 auto;padding:0 32px;font-size:15.5px;line-height:1.75;color:#51607a}
.tm-post{border-bottom:1px solid #e6ebf2;padding-bottom:32px;margin-bottom:32px}
.tm-post-title{font-family:'Archivo';font-weight:800;font-size:28px;color:#0a1f3c;margin-bottom:12px}
.tm-post-excerpt{font-size:15.5px;line-height:1.75;color:#51607a}
.tm-empty{font-size:15.5px;color:#51607a}
@media (max-width:640px){
  .tm-page-content{padding-left:20px;padding-right:20px}
  .tm-post-title{font-size:20px}
}
@media (max-width:760px){
  .tm-infra-card{flex-direction:column}
  .tm-infra-card-media{flex:0 0 auto;height:180px;width:100%}
}
@media (max-width:640px){
  .tm-infra-stats-grid{grid-template-columns:1fr}
  .tm-infra-stat{border-right:none;border-bottom:1px solid #eef2f7}
  .tm-infra-stat:last-child{border-bottom:none}
  .tm-infra-grid{grid-template-columns:1fr;padding-left:20px;padding-right:20px}
  .tm-infra-gallery-section{padding:0 0 48px}
}
@media (max-width:640px){
  .tm-about-who-grid{grid-template-columns:1fr;padding-left:20px;padding-right:20px}
  .tm-journey{padding:48px 0}
  .tm-milestones-grid,.tm-values-grid{grid-template-columns:1fr}
  .tm-about-who-h2{font-size:23px}
  .tm-about-h2{font-size:24px}
}
@media (max-width:900px) and (min-width:641px){
  .tm-cat-grid{grid-template-columns:repeat(2,1fr)}
  .tm-cat-card-grid{grid-template-columns:repeat(2,1fr)}
}

/* ---- Home / front page (converted from inline) ---- */
.tm-hero-slider{position:relative;min-height:680px;display:flex;align-items:center;color:#fff;overflow:hidden;background:#0c1420}
.tm-hero-slide-bg{position:absolute;inset:0;background-position:center;background-size:cover;animation:kenburns 26s ease-in-out infinite alternate}
.tm-hero-slide-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,14,24,.95) 0%,rgba(8,14,24,.82) 48%,rgba(8,14,24,.45) 100%)}
.tm-hero-content{position:relative;z-index:2;max-width:1280px;margin:0 auto;padding:90px 32px;width:100%;display:grid;grid-template-columns:1.4fr .9fr;gap:48px;align-items:center}
.tm-hero-eyebrow{display:inline-flex;align-items:center;gap:10px;color:#e8420f;font-family:'Archivo';font-weight:800;font-size:13px;letter-spacing:.18em;margin-bottom:22px}
.tm-hero-eyebrow-line{width:34px;height:2px;background:#e8420f;display:inline-block}
.tm-hero-h1{font-family:'Archivo';font-weight:900;font-size:72px;line-height:.95;letter-spacing:-.03em;margin-bottom:22px}
.tm-hl{color:#e8420f}
.tm-hero-para{font-size:18px;line-height:1.6;color:#c4cdd9;max-width:520px;margin-bottom:34px}
.tm-hero-btns{display:flex;gap:14px;align-items:center}
.tm-btn-hero{font-family:'Manrope';font-weight:700;font-size:15px;background:#e8420f;color:#fff;border:none;padding:16px 30px;border-radius:4px;cursor:pointer;box-shadow:0 12px 30px rgba(232,66,15,.35);display:inline-block}
.tm-btn-ghost{font-family:'Manrope';font-weight:700;font-size:15px;background:transparent;color:#fff;border:1px solid rgba(255,255,255,.3);padding:16px 30px;border-radius:4px;cursor:pointer;display:inline-block}
.tm-hero-quote{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(8px);border-radius:14px;padding:30px 28px}
.tm-hero-quote-heading{font-family:'Archivo';font-weight:800;font-size:20px;margin-bottom:6px}
.tm-hero-quote-sub{font-size:13.5px;color:#aab6c6;margin-bottom:18px}
.tm-hero-badge{position:absolute;left:32px;bottom:0;background:#e8420f;color:#fff;padding:14px 24px;border-radius:10px 10px 0 0;font-family:'Archivo';font-weight:900;font-size:15px;letter-spacing:.02em}
.tm-stats{background:#0c1420;color:#fff}
.tm-stats-grid{max-width:1280px;margin:0 auto;padding:0 32px;display:grid;grid-template-columns:repeat(4,1fr)}
.tm-stat{padding:46px 24px;text-align:center;border-right:1px solid #1b2738}
.tm-stat:last-child{border-right:none}
.tm-stat-num{font-family:'Archivo';font-weight:900;font-size:46px;color:#e8420f}
.tm-stat-label{font-size:13px;color:#9aa7bd;font-weight:600;margin-top:6px;text-transform:uppercase;letter-spacing:.08em}
.tm-eyebrow{font-family:'Archivo';font-weight:800;font-size:13px;letter-spacing:.18em;color:#e8420f;margin-bottom:12px}
.tm-section-h2{font-family:'Archivo';font-weight:900;font-size:42px;letter-spacing:-.02em;color:#0c1420}
.tm-section-h2.tm-on-dark{color:#fff}
.tm-svc{background:#f6f7f9;padding:90px 0}
.tm-center-head{text-align:center;max-width:640px;margin:0 auto 50px}
.tm-svc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.tm-svc-card{background:#fff;border:1px solid #e6ebf2;border-radius:12px;overflow:hidden}
.tm-svc-media{height:150px;overflow:hidden}
.tm-svc-img{height:100%;background-position:center;background-size:cover}
.tm-svc-body{padding:26px 24px 28px}
.tm-svc-title{font-family:'Archivo';font-weight:800;font-size:19px;color:#0c1420;margin-bottom:10px}
.tm-svc-desc{font-size:14px;line-height:1.6;color:#51607a}
.tm-work{background:#0c1420;color:#fff;padding:90px 0}
.tm-work-head{margin-bottom:40px}
.tm-work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.tm-work-card{position:relative;height:260px;border-radius:12px;overflow:hidden;cursor:pointer;background:#11243a;display:block}
.tm-work-img{position:absolute;inset:0;background-position:center;background-size:cover}
.tm-work-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,14,24,.9),rgba(8,14,24,0) 55%)}
.tm-work-caption{position:absolute;left:20px;bottom:18px;right:20px}
.tm-work-cat{font-size:11px;letter-spacing:.14em;color:#e8420f;font-weight:800;text-transform:uppercase;margin-bottom:6px}
.tm-work-title{font-family:'Archivo';font-weight:800;font-size:18px;line-height:1.2;color:#fff}
.tm-why{background:#fff;padding:90px 0}
.tm-why-grid{max-width:1280px;margin:0 auto;padding:0 32px;display:grid;grid-template-columns:1fr 1.1fr;gap:60px;align-items:center}
.tm-why-img{position:relative;border-radius:16px;overflow:hidden;height:440px;background-position:center;background-size:cover}
.tm-why-h2{font-family:'Archivo';font-weight:900;font-size:40px;letter-spacing:-.02em;color:#0c1420;margin-bottom:30px}
.tm-why-features{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.tm-why-feature-title{font-family:'Archivo';font-weight:800;font-size:17px;color:#0c1420;margin-bottom:6px}
.tm-why-feature-desc{font-size:13.5px;line-height:1.55;color:#51607a}
.tm-cta-orange{position:relative;overflow:hidden;background:#e8420f;color:#fff;padding:72px 0}
.tm-cta-orange-inner{max-width:1280px;margin:0 auto;padding:0 32px;display:flex;justify-content:space-between;align-items:center;gap:40px;flex-wrap:wrap}
.tm-cta-orange-h2{font-family:'Archivo';font-weight:900;font-size:40px;letter-spacing:-.02em;max-width:640px;line-height:1.05}
.tm-btn-dark{font-family:'Manrope';font-weight:800;font-size:16px;background:#0c1420;color:#fff;border:none;padding:18px 36px;border-radius:6px;cursor:pointer;white-space:nowrap;display:inline-block}
@media (max-width:900px) and (min-width:641px){
  .tm-hero-h1{font-size:52px}
  .tm-stats-grid,.tm-svc-grid,.tm-work-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
  .tm-hero-slider{min-height:auto}
  .tm-hero-content{grid-template-columns:1fr;padding:56px 20px;gap:36px}
  .tm-hero-h1{font-size:36px}
  .tm-hero-btns{flex-direction:column;align-items:stretch}
  .tm-hero-btns a{text-align:center}
  .tm-stats-grid,.tm-svc-grid,.tm-work-grid{grid-template-columns:1fr}
  .tm-stats-grid,.tm-why-grid,.tm-cta-orange-inner{padding-left:20px;padding-right:20px}
  .tm-stat{border-right:none;border-bottom:1px solid #1b2738}
  .tm-stat:last-child{border-bottom:none}
  .tm-svc,.tm-work,.tm-why{padding:48px 0}
  .tm-cta-orange{padding:40px 0}
  .tm-why-grid{grid-template-columns:1fr}
  .tm-why-features{grid-template-columns:1fr}
  .tm-section-h2{font-size:26px}
  .tm-why-h2,.tm-cta-orange-h2{font-size:26px}
  .tm-cta-orange-inner{flex-direction:column;align-items:flex-start}
}
@media (max-width:640px){
  .tm-cat-products{padding:48px 0}
  .tm-cta-band{padding:40px 0}
  .tm-cta-band-inner{padding-left:20px;padding-right:20px}
  .tm-cat-grid{grid-template-columns:1fr}
  .tm-cat-products-head{flex-direction:column;align-items:flex-start;gap:14px}
  .tm-cat-products-title{font-size:20px}
  .tm-cta-band-title{font-size:21px}
}

/* ==========================================================================
   Responsive — navigation, topbar, and hero-control classes.
   Per-component responsive rules (grids, headings, section padding, etc.)
   live alongside their component blocks above.
   ========================================================================== */

img{max-width:100%;height:auto}
body{overflow-x:hidden}

/* ---- Navigation ---- */
.tm-nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:38px;height:38px;border:none;background:transparent;cursor:pointer;padding:0;flex:0 0 auto}
.tm-nav-toggle span{display:block;width:100%;height:2px;background:#0a1f3c;border-radius:2px;transition:transform .2s ease,opacity .2s ease}
.tm-nav-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.tm-nav-toggle.is-open span:nth-child(2){opacity:0}
.tm-nav-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ---- Products dropdown submenu ---- */
.tm-has-submenu{position:relative;display:inline-block}
.tm-caret{font-size:20px;line-height:1;transition:transform .2s ease;opacity:.7}
.tm-submenu{position:absolute;top:100%;left:0;min-width:210px;background:#fff;border:1px solid #e6ebf2;border-radius:10px;box-shadow:0 16px 34px rgba(10,31,60,.12);padding:8px;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .18s ease,transform .18s ease,visibility .18s ease;z-index:60}
.tm-has-submenu:hover > .tm-submenu,.tm-has-submenu:focus-within > .tm-submenu{opacity:1;visibility:visible;transform:translateY(0)}
.tm-has-submenu:hover .tm-caret{transform:rotate(180deg)}
.tm-submenu a{display:block;font-size:13.5px;font-weight:600;color:#33476b;padding:9px 12px;border-radius:6px;white-space:nowrap;transition:background .15s ease,color .15s ease}
.tm-submenu a:hover{background:#fdf0eb;color:#e8420f}

@media (max-width:900px){
  .tm-nav-toggle{display:flex}
  .tm-nav-cta{display:none !important}
  .tm-nav-links{position:absolute;top:100%;left:0;right:0;flex-direction:column !important;align-items:stretch !important;gap:2px !important;background:#fff;border-bottom:1px solid #e6ebf2;box-shadow:0 12px 24px rgba(10,31,60,.08);max-height:0;overflow:hidden;visibility:hidden;opacity:0;transition:max-height .25s ease,opacity .2s ease;padding:0 20px}
  .tm-nav-links.is-open{max-height:600px;visibility:visible;opacity:1;padding:10px 20px 20px}
  .tm-nav-links a{padding:12px 4px !important;border-bottom:1px solid #f1f3f7}
  .tm-nav-cta-mobile{display:block !important;text-align:center}
  header nav.tm-nav{position:relative}
  .tm-has-submenu{display:block;width:100%}
  .tm-submenu-trigger{width:100%;padding:12px 4px !important;border-bottom:1px solid #f1f3f7}
  .tm-caret{margin-left:auto}
  .tm-submenu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:none;border-radius:0;padding:2px 0 6px 14px;min-width:0}
  .tm-submenu a{border-bottom:none !important;padding:9px 4px !important;font-weight:500}
}

@media (max-width:900px){
  .tm-topbar-left{display:none !important}
  .tm-topbar > div{justify-content:center !important}
}
@media (max-width:480px){
  .tm-topbar{display:none !important}
}

/* ---- Home hero slider controls on mobile ---- */
@media (max-width:640px){
  .tm-hero-dots{bottom:66px}
  .tm-hero-arrow{width:36px;height:36px;font-size:18px}
  .tm-hero-prev{left:10px}
  .tm-hero-next{right:10px}
}

/* ---- Contact form field grids collapse to one column on very small screens ---- */
@media (max-width:480px){
  .tm-input{font-size:16px}
}

/* ---- Contact page: show office/contact details before the form on mobile ---- */
@media (max-width:640px){
  .tm-contact-offices-col{order:1}
  .tm-contact-form-col{order:2;margin-top:32px}
}
