/* =========================================================
   TOOL TOWN - Main Stylesheet
   改善版
   ========================================================= */

/* =========================
   BASE
========================= */

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    background-color: #ffffff;
    color: #222222;
    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        "Hiragino Kaku Gothic ProN",
        "Hiragino Sans",
        "Yu Gothic",
        "Meiryo",
        sans-serif;
}

img {
    max-width: 100%;
}

a {
    color: inherit;
}

main {
    padding: 0;
}

h1,
h2,
h3,
p {
    overflow-wrap: break-word;
}

.section-label {
    margin: 0 0 10px;
    color: #17458f;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 3px;
}


/* ========================================
   HEADER
======================================== */

.site-header {
    position: relative;
    z-index: 100;
    width: 100%;
    height: 86px;
    background: #ffffff;
    border-bottom: 1px solid #e8e8e8;
}

.site-header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: calc(100% - 96px);
    max-width: 1440px;
    height: 100%;
    margin: 0 auto;
}

.site-name,
.site-logo {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    text-decoration: none;
}

.site-name img,
.site-logo img {
    display: block;
    width: 230px;
    height: auto;
}

.site-nav {
    display: flex;
    align-items: center;
    gap: 30px;
}

.site-nav a {
    position: relative;
    padding: 31px 0;
    color: #161616;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
}

.site-nav a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 23px;
    width: 0;
    height: 2px;
    background: #17458f;
    transition: width 0.3s ease;
}

.site-nav a:hover::after {
    width: 100%;
}


/* 旧製品詳細ページの header/nav 互換用 */
body > header:not(.site-header) {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 86px;
    padding: 0 48px;
    background: #ffffff;
    border-bottom: 1px solid #e8e8e8;
}

body > header:not(.site-header) > a {
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

body > header:not(.site-header) > a img {
    display: block;
    width: 230px;
    height: auto;
}

body > header:not(.site-header) nav {
    display: flex;
    align-items: center;
    gap: 30px;
}

body > header:not(.site-header) nav a {
    color: #161616;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
}


/* ========================================
   TOP HERO
======================================== */

.hero {
    position: relative;
    width: calc(100% - 64px);
    max-width: 1440px;
    height: calc(100vh - 150px);
    min-height: 560px;
    max-height: 760px;
    margin: 18px auto 0;
    overflow: hidden;
    background-color: #14223a;
}

.hero-slides {
    position: absolute;
    inset: 0;
}

.hero-slide {
    position: absolute;
    inset: -2%;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    opacity: 0;
    animation:
        heroFade 14s infinite,
        heroZoom 14s infinite;
}

.hero-slide-01 {
    background-image: url("../images/hero-worksite-01.jpg");
    background-position: center 45%;
    animation-delay: 0s;
}

.hero-slide-02 {
    background-image: url("../images/hero-telecom-03.png");
    background-position: center 52%;
    animation-delay: 7s;
}

.hero-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(
            90deg,
            rgba(8, 24, 48, 0.82) 0%,
            rgba(8, 24, 48, 0.68) 28%,
            rgba(8, 24, 48, 0.43) 53%,
            rgba(8, 24, 48, 0.12) 82%,
            rgba(8, 24, 48, 0.04) 100%
        );
}

.hero-content {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: calc(100% - 120px);
    max-width: 1180px;
    height: 100%;
    margin: 0 auto;
    color: #ffffff;
}

.hero-kicker {
    margin: 0 0 24px;
    color: rgba(255, 255, 255, 0.82);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.20em;
    animation: heroTextIn 0.8s ease both;
}

.hero-content h1 {
    max-width: 650px;
    margin: 0;
    color: #ffffff;
    font-size: clamp(48px, 4.6vw, 68px);
    font-weight: 700;
    line-height: 1.18;
    letter-spacing: 0.015em;
    animation: heroTextIn 0.9s 0.12s ease both;
}

.hero-description {
    margin: 32px 0 0;
    color: rgba(255, 255, 255, 0.88);
    font-size: 17px;
    font-weight: 500;
    line-height: 2;
    animation: heroTextIn 0.9s 0.28s ease both;
}

.hero-link {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    gap: 28px;
    margin-top: 38px;
    padding: 14px 2px 11px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.75);
    color: #ffffff;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    animation: heroTextIn 0.9s 0.42s ease both;
}

.hero-arrow {
    font-size: 21px;
    transition: transform 0.3s ease;
}

.hero-link:hover .hero-arrow {
    transform: translateX(8px);
}

.hero-status {
    position: absolute;
    z-index: 3;
    right: 64px;
    bottom: 42px;
    display: flex;
    align-items: center;
    gap: 12px;
    color: rgba(255, 255, 255, 0.8);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.1em;
}

.hero-status-line {
    display: block;
    width: 70px;
    height: 1px;
    background: rgba(255, 255, 255, 0.55);
}

.hero-scroll {
    position: absolute;
    z-index: 3;
    left: 50%;
    bottom: 26px;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    color: rgba(255, 255, 255, 0.72);
    font-size: 9px;
    font-weight: 600;
    letter-spacing: 0.22em;
    text-decoration: none;
}

.hero-scroll-line {
    width: 1px;
    height: 32px;
    background: rgba(255, 255, 255, 0.55);
}

@keyframes heroFade {
    0% { opacity: 0; }
    6% { opacity: 1; }
    44% { opacity: 1; }
    50% { opacity: 0; }
    100% { opacity: 0; }
}

@keyframes heroZoom {
    0% { transform: scale(1); }
    50% { transform: scale(1.045); }
    100% { transform: scale(1.045); }
}

@keyframes heroTextIn {
    from {
        opacity: 0;
        transform: translateY(24px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* ========================================
   PRODUCTS
======================================== */

.products {
    padding: 100px 8%;
    background-color: #f7f9fc;
}

.section-heading {
    max-width: 700px;
    margin-bottom: 50px;
}

.section-heading h2 {
    margin: 0 0 16px;
    color: #16233a;
    font-size: 40px;
}

.section-description {
    margin: 0;
    color: #666666;
    font-size: 16px;
    line-height: 1.8;
}

.product-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
}

.product-card {
    overflow: hidden;
    background-color: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
}

.product-image {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 320px;
    padding: 25px;
    background-color: #ffffff;
}

.product-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.product-placeholder {
    background-color: #eef2f7;
    color: #8b95a5;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.6;
    text-align: center;
    letter-spacing: 2px;
}

.product-content {
    padding: 26px;
    border-top: 1px solid #eeeeee;
}

.product-category {
    margin: 0 0 8px;
    color: #17458f;
    font-size: 14px;
    font-weight: 700;
}

.product-content h3 {
    margin: 0 0 6px;
    color: #16233a;
    font-size: 25px;
}

.product-model {
    margin: 0 0 18px;
    color: #777777;
    font-size: 14px;
}

.product-description {
    min-height: 58px;
    margin: 0 0 24px;
    color: #555555;
    font-size: 15px;
    line-height: 1.8;
}

.product-link {
    color: #17458f;
    font-weight: 700;
    text-decoration: none;
}

.product-link:hover {
    text-decoration: underline;
}


/* ========================================
   ONLINE SHOP BUTTON
======================================== */

.shop-button,
.hero-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    min-height: 52px;
    padding: 14px 26px;
    background-color: #17458f;
    border: 1px solid #17458f;
    color: #ffffff;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.5;
    text-decoration: none;
    transition:
        background-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease;
}

.shop-button {
    margin-top: 28px;
}

.shop-button:hover,
.hero-button:hover {
    background-color: #ffffff;
    color: #17458f;
    transform: translateY(-2px);
}


/* ========================================
   ORDER / ESTIMATE
======================================== */

.order-section {
    padding: 120px 8%;
    background-color: #ffffff;
}

.order-inner {
    max-width: 1200px;
    margin: 0 auto;
}

.order-heading {
    margin-bottom: 64px;
}

.order-heading h2 {
    margin: 0 0 24px;
    color: #16233a;
    font-size: 42px;
    line-height: 1.3;
}

.order-description {
    max-width: 650px;
    margin: 0;
    color: #5b6472;
    font-size: 16px;
    line-height: 2;
}

.order-content {
    display: grid;
    grid-template-columns: 1.25fr 0.75fr;
    border-top: 1px solid #dfe3e8;
    border-bottom: 1px solid #dfe3e8;
}

.order-main {
    padding: 54px 60px 54px 0;
    border-right: 1px solid #dfe3e8;
}

.order-small-label {
    margin: 0 0 18px;
    color: #17458f;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.18em;
}

.order-main h3 {
    margin: 0 0 38px;
    color: #16233a;
    font-size: 28px;
    line-height: 1.55;
}

.order-links {
    display: flex;
    flex-direction: column;
    max-width: 500px;
}

.order-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 4px;
    border-top: 1px solid #cfd5dd;
    color: #16233a;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
    transition: 0.25s;
}

.order-link:last-child {
    border-bottom: 1px solid #cfd5dd;
}

.order-link span:last-child {
    color: #17458f;
    font-size: 20px;
    transition: transform 0.25s ease;
}

.order-link:hover {
    color: #17458f;
}

.order-link:hover span:last-child {
    transform: translateX(7px);
}

.order-phone {
    padding: 54px 0 54px 60px;
}

.order-phone-title {
    margin: 0 0 14px;
    color: #444d5a;
    font-size: 14px;
    font-weight: 600;
}

.phone-number {
    display: inline-block;
    margin: 0 0 24px;
    color: #17458f;
    font-size: 34px;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-decoration: none;
}

.contact-note {
    margin: 0;
    color: #66707d;
    font-size: 14px;
    line-height: 1.9;
}


/* ========================================
   COMPANY
======================================== */

.company-section {
    padding: 100px 8%;
    background-color: #f7f9fc;
}

.company-inner {
    max-width: 1200px;
    margin: 0 auto;
}

.company-heading {
    margin-bottom: 50px;
}

.company-heading h2 {
    margin: 0 0 18px;
    color: #16233a;
    font-size: 40px;
}

.company-description {
    max-width: 650px;
    margin: 0;
    color: #555555;
    font-size: 16px;
    line-height: 1.9;
}

.company-table {
    background-color: #ffffff;
    border-top: 1px solid #dddddd;
}

.company-row {
    display: grid;
    grid-template-columns: 220px 1fr;
    border-bottom: 1px solid #dddddd;
}

.company-title {
    padding: 22px 28px;
    background-color: #eef2f7;
    color: #16233a;
    font-weight: 700;
}

.company-value {
    padding: 22px 28px;
    color: #444444;
    line-height: 1.8;
}


/* ========================================
   OFFICIAL LINE
======================================== */

.line-section {
    padding: 50px 8%;
    background-color: #f7f9fc;
}

.line-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 1200px;
    margin: 0 auto;
    gap: 80px;
}

.line-text {
    flex: 1;
}

.line-text h2 {
    margin: 0 0 24px;
    color: #16233a;
    font-size: 40px;
    line-height: 1.3;
}

.line-description {
    margin: 0 0 34px;
    color: #5b6472;
    font-size: 16px;
    line-height: 2;
}

.line-button {
    display: inline-flex;
    align-items: center;
    gap: 32px;
    padding: 14px 2px 11px;
    border-bottom: 1px solid #17458f;
    color: #17458f;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
}

.line-button span:last-child {
    font-size: 20px;
    transition: transform 0.25s ease;
}

.line-button:hover span:last-child {
    transform: translateX(7px);
}

.line-qr {
    display: flex;
    align-items: center;
    gap: 34px;
}

.line-qr-label {
    margin: 0;
    color: #66707d;
    font-size: 13px;
    line-height: 1.8;
}

.line-qr-link {
    display: block;
    line-height: 0;
}

.line-qr-image {
    display: block;
    width: 150px;
    height: 150px;
    object-fit: contain;
    background-color: #ffffff;
    border: 1px solid #d9dee6;
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.line-qr-link:hover .line-qr-image {
    transform: translateY(-3px);
    box-shadow: 0 8px 24px rgba(22, 35, 58, 0.10);
}


/* ========================================
   FOOTER
======================================== */

.footer {
    background-color: #16233a;
    color: #ffffff;
}

.footer-main,
.footer-inner {
    display: flex;
    justify-content: space-between;
    max-width: 1200px;
    margin: 0 auto;
    padding: 72px 0;
    gap: 100px;
}

.footer-brand,
.footer-company {
    min-width: 280px;
}

.footer-logo {
    display: inline-flex;
    margin-bottom: 28px;
}

.footer-logo img,
.footer-company > img {
    display: block;
    width: 190px;
    height: auto;
}

.footer-address,
.footer-contact,
.footer-company p {
    margin: 0 0 20px;
    color: rgba(255, 255, 255, 0.72);
    font-size: 13px;
    line-height: 1.9;
}

.footer-navigation {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    flex: 1;
    gap: 70px;
}

.footer-column,
.footer-links {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
}

.footer-column-title {
    margin: 0 0 12px;
    color: rgba(255, 255, 255, 0.48);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.15em;
}

.footer-column a,
.footer-links a {
    color: rgba(255, 255, 255, 0.88);
    font-size: 14px;
    text-decoration: none;
    transition: color 0.2s ease;
}

.footer-column a:hover,
.footer-links a:hover {
    color: #ffffff;
}

.footer-bottom {
    padding: 20px 8%;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    text-align: center;
}

.footer-bottom p {
    margin: 0;
    color: rgba(255, 255, 255, 0.48);
    font-size: 11px;
    letter-spacing: 0.04em;
}


/* =========================================================
   PRODUCT DETAIL PAGES
   TBF-680 / TBF-700 / E-9141 共通
   ========================================================= */

/* 製品トップ */
.product-hero {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(380px, 1.1fr);
    align-items: center;
    width: calc(100% - 96px);
    max-width: 1200px;
    min-height: 650px;
    margin: 0 auto;
    padding: 72px 0 80px;
    gap: clamp(48px, 7vw, 96px);
}

.product-hero-text {
    min-width: 0;
}

.product-type {
    margin: 0 0 12px;
    color: #555555;
    font-size: 17px;
    font-weight: 600;
}

.product-hero h1 {
    margin: 0 0 14px;
    color: #16233a;
    font-size: clamp(46px, 5vw, 66px);
    line-height: 1.12;
    letter-spacing: 0.01em;
}

.product-hero-text > .product-model {
    margin: 0 0 28px;
    color: #7a8390;
    font-size: 15px;
    letter-spacing: 0.04em;
}

.product-catch {
    max-width: 520px;
    margin: 0;
    color: #4f5967;
    font-size: 17px;
    line-height: 2;
}

.product-hero-image {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    min-height: 480px;
    padding: 34px;
    background: #f7f9fc;
}

.product-hero-image img {
    display: block;
    width: 100%;
    max-width: 560px;
    max-height: 500px;
    height: auto;
    object-fit: contain;
}


/* FEATURES */
.product-detail-section {
    padding: 100px 8%;
    background-color: #f7f9fc;
}

.product-detail-section > .product-detail-heading,
.product-detail-section > .feature-grid {
    width: 100%;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}

.product-detail-heading {
    margin-bottom: 50px;
}

.product-detail-heading h2 {
    max-width: 760px;
    margin: 0;
    color: #16233a;
    font-size: 40px;
    line-height: 1.35;
}

.feature-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
}

.feature-card {
    min-height: 260px;
    padding: 36px 34px;
    background-color: #ffffff;
    border: 1px solid #e1e5eb;
    border-radius: 10px;
}

.feature-number {
    margin: 0 0 24px;
    color: #17458f;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 2px;
}

.feature-card h3 {
    margin: 0 0 16px;
    color: #16233a;
    font-size: 21px;
    line-height: 1.5;
}

.feature-card p {
    margin: 0;
    color: #555555;
    font-size: 15px;
    line-height: 1.9;
}


/* SPEC / FUNCTION */
.spec-section {
    padding: 100px 8%;
    background-color: #ffffff;
}

.spec-inner {
    max-width: 1100px;
    margin: 0 auto;
}

.spec-table {
    border-top: 1px solid #d9dee5;
}

.spec-row {
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    border-bottom: 1px solid #d9dee5;
}

.spec-title {
    padding: 22px 28px;
    background-color: #eef2f7;
    color: #16233a;
    font-weight: 700;
}

.spec-value {
    padding: 22px 28px;
    color: #444444;
    line-height: 1.8;
}


/* PRODUCT GUIDE */
.product-document-section {
    padding: 100px 8%;
    background-color: #f7f9fc;
}

.product-document-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 1100px;
    margin: 0 auto;
    gap: 70px;
}

.product-document-text {
    flex: 1;
}

.product-document-text h2 {
    margin: 0 0 20px;
    color: #16233a;
    font-size: 40px;
}

.product-document-text p {
    margin: 0;
    color: #555555;
    line-height: 1.9;
}

.product-document-image {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 45%;
    min-height: 340px;
    padding: 24px;
    background: #ffffff;
}

.product-document-image img {
    display: block;
    width: 100%;
    max-width: 420px;
    max-height: 340px;
    height: auto;
    object-fit: contain;
}


/* DETAIL ORDER */
.detail-order-section {
    padding: 90px 8%;
    background-color: #ffffff;
}

.detail-order-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 1100px;
    margin: 0 auto;
    gap: 60px;
}

.detail-order-inner h2 {
    margin: 0 0 16px;
    color: #16233a;
    font-size: 36px;
}

.detail-order-inner p {
    max-width: 650px;
    margin: 0;
    color: #555555;
    line-height: 1.9;
}

.detail-order-actions {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-width: 300px;
    gap: 14px;
}

.detail-order-actions .shop-button {
    margin-top: 0;
}

.detail-text-link {
    display: inline-block;
    padding: 8px 0;
    border-bottom: 1px solid #17458f;
    color: #17458f;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
}

.detail-text-link:hover {
    opacity: 0.7;
}


/* ========================================
   TABLET / MOBILE
======================================== */

@media (max-width: 900px) {

    /* Header */
    .site-header {
        height: auto;
        min-height: 70px;
    }

    .site-header-inner {
        width: calc(100% - 40px);
        min-height: 70px;
        gap: 24px;
    }

    .site-name img,
    .site-logo img {
        width: 160px;
    }

    .site-nav {
        gap: 18px;
    }

    .site-nav a {
        padding: 25px 0;
        font-size: 12px;
    }

    .site-nav a::after {
        display: none;
    }

    body > header:not(.site-header) {
        min-height: 70px;
        padding: 0 20px;
        gap: 24px;
    }

    body > header:not(.site-header) > a img {
        width: 160px;
    }

    body > header:not(.site-header) nav {
        gap: 18px;
    }

    body > header:not(.site-header) nav a {
        font-size: 12px;
    }


    /* Top hero */
    .hero {
        width: calc(100% - 32px);
        height: calc(100vh - 86px);
        min-height: 620px;
    }

    .hero-content {
        width: calc(100% - 48px);
    }

    .hero-content h1 {
        font-size: clamp(42px, 11vw, 58px);
    }

    .hero-description {
        font-size: 15px;
    }

    .hero-status {
        right: 24px;
        bottom: 28px;
    }

    .hero-scroll {
        display: none;
    }


    /* Products */
    .products {
        padding: 70px 24px;
    }

    .product-grid {
        grid-template-columns: 1fr;
    }

    .product-image {
        height: 280px;
    }

    .section-heading h2 {
        font-size: 32px;
    }


    /* Order */
    .order-section {
        padding: 80px 24px;
    }

    .order-heading {
        margin-bottom: 45px;
    }

    .order-heading h2 {
        font-size: 32px;
    }

    .order-description br {
        display: none;
    }

    .order-content {
        grid-template-columns: 1fr;
    }

    .order-main {
        padding: 40px 0;
        border-right: none;
        border-bottom: 1px solid #dfe3e8;
    }

    .order-phone {
        padding: 40px 0;
    }

    .order-main h3 {
        font-size: 24px;
    }

    .phone-number {
        font-size: 28px;
    }


    /* Company */
    .company-section {
        padding: 70px 24px;
    }

    .company-heading h2 {
        font-size: 32px;
    }

    .company-row {
        grid-template-columns: 1fr;
    }

    .company-title {
        padding-bottom: 10px;
    }

    .company-value {
        padding-top: 10px;
    }


    /* LINE */
    .line-section {
        padding: 50px 24px;
    }

    .line-inner {
        flex-direction: column;
        align-items: stretch;
        gap: 50px;
    }

    .line-text h2 {
        font-size: 32px;
    }

    .line-description br {
        display: none;
    }

    .line-qr {
        gap: 24px;
    }


    /* Footer */
    .footer-main,
    .footer-inner {
        flex-direction: column;
        padding: 60px 24px;
        gap: 50px;
    }

    .footer-navigation {
        grid-template-columns: 1fr;
        gap: 38px;
    }

    .footer-bottom {
        padding: 18px 24px;
    }


    /* Product detail */
    .product-hero {
        grid-template-columns: 1fr;
        width: calc(100% - 48px);
        min-height: 0;
        padding: 60px 0 70px;
        gap: 44px;
    }

    .product-hero h1 {
        font-size: 46px;
    }

    .product-catch {
        font-size: 16px;
    }

    .product-hero-image {
        min-height: 0;
        padding: 28px;
    }

    .product-hero-image img {
        max-width: 500px;
        max-height: 430px;
    }

    .product-detail-section,
    .spec-section,
    .product-document-section,
    .detail-order-section {
        padding: 70px 24px;
    }

    .product-detail-heading h2,
    .product-document-text h2 {
        font-size: 32px;
    }

    .feature-grid {
        grid-template-columns: 1fr;
    }

    .feature-card {
        min-height: 0;
    }

    .spec-row {
        grid-template-columns: 1fr;
    }

    .product-document-inner,
    .detail-order-inner {
        flex-direction: column;
        align-items: stretch;
    }

    .product-document-image {
        width: 100%;
        min-height: 0;
    }

    .detail-order-actions {
        min-width: 0;
    }
}


/* ========================================
   SMALL MOBILE
======================================== */

@media (max-width: 640px) {

    .site-header-inner {
        align-items: flex-start;
        flex-direction: column;
        padding: 14px 0;
    }

    .site-nav {
        width: 100%;
        gap: 14px 18px;
        overflow-x: auto;
        padding-bottom: 4px;
    }

    .site-nav a {
        flex-shrink: 0;
        padding: 4px 0 8px;
    }

    body > header:not(.site-header) {
        align-items: flex-start;
        flex-direction: column;
        padding-top: 14px;
        padding-bottom: 14px;
    }

    body > header:not(.site-header) nav {
        width: 100%;
        overflow-x: auto;
    }

    .hero {
        margin-top: 12px;
    }

    .product-hero {
        width: calc(100% - 40px);
        padding-top: 48px;
    }

    .product-hero h1 {
        font-size: 38px;
    }

    .product-hero-image {
        padding: 18px;
    }

    .shop-button,
    .hero-button {
        width: 100%;
        text-align: center;
    }

    .spec-title,
    .spec-value {
        padding: 18px 20px;
    }

    .line-qr {
        align-items: flex-start;
        flex-direction: column;
    }
}


/* =========================================================
   PRODUCT MOVIE
   マルチスタンド 使用動画
   ========================================================= */

.product-movie-section {
    padding: 100px 8%;
    background-color: #ffffff;
}

.product-movie-inner {
    max-width: 1200px;
    margin: 0 auto;
}

.movie-description {
    max-width: 680px;
    margin: 18px 0 0;
    color: #5b6472;
    font-size: 16px;
    line-height: 1.9;
}

.movie-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px;
}

.movie-item {
    min-width: 0;
}

.movie-frame {
    position: relative;
    overflow: hidden;
    width: 100%;
    aspect-ratio: 16 / 9;
    background-color: #0e1624;
}

.movie-frame iframe,
.movie-frame video {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    object-fit: cover;
}

.movie-item h3 {
    margin: 22px 0 10px;
    color: #16233a;
    font-size: 21px;
    line-height: 1.5;
}

.movie-item p {
    margin: 0;
    color: #5b6472;
    font-size: 15px;
    line-height: 1.9;
}


/* =========================================================
   INSTALLATION
   マルチスタンド 使用シーン
   ========================================================= */

.installation-section {
    padding: 100px 8%;
    background-color: #f7f9fc;
}

.installation-inner {
    max-width: 1200px;
    margin: 0 auto;
}

.installation-description {
    max-width: 700px;
    margin: 18px 0 0;
    color: #5b6472;
    font-size: 16px;
    line-height: 1.9;
}

.installation-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
}

.installation-card {
    overflow: hidden;
    background-color: #ffffff;
    border: 1px solid #e1e5eb;
    border-radius: 10px;
}

.installation-image {
    display: flex;
    align-items: center;
    justify-content: center;

    height: 250px;

    padding: 24px;

    overflow: hidden;

    background-color: #f4f6f9;
}

.installation-image img {
    display: block;

    width: auto;
    height: auto;

    max-width: 100%;
    max-height: 200px;

    object-fit: contain;
}

.installation-card h3 {
    margin: 0;
    padding: 24px 26px 10px;
    color: #16233a;
    font-size: 21px;
    line-height: 1.5;
}

.installation-card p {
    margin: 0;
    padding: 0 26px 28px;
    color: #5b6472;
    font-size: 15px;
    line-height: 1.9;
}


/* =========================================================
   MOVIE / INSTALLATION - MOBILE
   ========================================================= */

@media (max-width: 900px) {

    .product-movie-section,
    .installation-section {
        padding: 70px 24px;
    }

    .movie-grid {
        grid-template-columns: 1fr;
        gap: 42px;
    }

    .installation-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .movie-item h3,
    .installation-card h3 {
        font-size: 20px;
    }
}

@media (max-width: 640px) {

    .movie-description,
    .installation-description {
        font-size: 15px;
    }

    .movie-item h3 {
        margin-top: 18px;
    }

    .installation-card h3 {
        padding: 20px 20px 8px;
    }

    .installation-card p {
        padding: 0 20px 22px;
    }
}

/* =========================================================
   TBF-700 PRODUCT GALLERY
   光ドラムリール 製品詳細ギャラリー
   ========================================================= */


.drum-gallery-section {
    padding: 110px 8%;
    background-color: #f7f9fc;
}


.drum-gallery-inner {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
}



/* ========================================
   HEADING
======================================== */

.drum-gallery-heading {
    margin-bottom: 52px;
}


.drum-gallery-heading h2 {
    margin: 0;
    color: #16233a;
    font-size: 40px;
    line-height: 1.35;
}


.drum-gallery-description {
    max-width: 700px;
    margin: 18px 0 0;
    color: #5b6472;
    font-size: 16px;
    line-height: 1.9;
}



/* ========================================
   MAIN GALLERY
======================================== */

.drum-gallery-main {
    position: relative;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    min-height: 430px;

    overflow: hidden;

    background-color: #ffffff;

    border: 1px solid #e1e5eb;
}


.drum-gallery-image-area {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    height: 430px;

    padding: 35px 80px;
}


.drum-gallery-image-area img {
    display: block;

    width: auto;
    height: auto;

    max-width: 100%;
    max-height: 360px;

    object-fit: contain;
}

/* ========================================
   PREV / NEXT BUTTON
======================================== */

.drum-gallery-arrow {
    position: absolute;
    top: 50%;
    z-index: 3;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 54px;
    height: 54px;

    padding: 0;

    transform: translateY(-50%);

    background-color: rgba(22, 35, 58, 0.86);

    border: 0;
    border-radius: 50%;

    color: #ffffff;

    font-size: 25px;
    line-height: 1;

    cursor: pointer;

    transition:
        background-color 0.25s ease,
        transform 0.25s ease;
}


.drum-gallery-prev {
    left: 28px;
}


.drum-gallery-next {
    right: 28px;
}


.drum-gallery-arrow:hover {
    background-color: #17458f;

    transform:
        translateY(-50%)
        scale(1.06);
}



/* ========================================
   IMAGE INFORMATION
======================================== */

.drum-gallery-info {
    padding: 28px 0 32px;

    border-bottom: 1px solid #dfe3e8;
}


.drum-gallery-count {
    margin: 0 0 8px;

    color: #17458f;

    font-size: 12px;
    font-weight: 700;

    letter-spacing: 0.16em;
}


.drum-gallery-info h3 {
    margin: 0;

    color: #16233a;

    font-size: 24px;
    line-height: 1.5;
}



/* ========================================
   THUMBNAILS
======================================== */

.drum-gallery-thumbnails {
    display: grid;

    grid-template-columns:
        repeat(6, minmax(0, 1fr));

    gap: 12px;

    margin-top: 28px;
}


.drum-gallery-thumbnail {
    position: relative;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    aspect-ratio: 4 / 3;

    padding: 8px;

    overflow: hidden;

    background-color: #ffffff;

    border: 1px solid #dfe3e8;

    cursor: pointer;

    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease,
        transform 0.2s ease;
}


.drum-gallery-thumbnail img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: contain;
}


.drum-gallery-thumbnail:hover {
    border-color: #9aa9bc;

    transform: translateY(-2px);
}


.drum-gallery-thumbnail.active {
    border: 2px solid #17458f;

    box-shadow:
        0 5px 18px
        rgba(23, 69, 143, 0.12);
}



/* 青い選択ライン */

.drum-gallery-thumbnail.active::after {
    content: "";

    position: absolute;

    left: 8px;
    right: 8px;
    bottom: 5px;

    height: 3px;

    background-color: #17458f;
}



/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 900px) {

    .drum-gallery-section {
        padding: 80px 24px;
    }


    .drum-gallery-heading {
        margin-bottom: 40px;
    }


    .drum-gallery-heading h2 {
        font-size: 32px;
    }


    .drum-gallery-main {
        min-height: 440px;
    }


    .drum-gallery-image-area {
        min-height: 440px;

        padding:
            36px
            72px;
    }


    .drum-gallery-image-area img {
        max-height: 390px;
    }


    .drum-gallery-arrow {
        width: 46px;
        height: 46px;

        font-size: 21px;
    }


    .drum-gallery-prev {
        left: 16px;
    }


    .drum-gallery-next {
        right: 16px;
    }


    .drum-gallery-thumbnails {
        grid-template-columns:
            repeat(4, minmax(0, 1fr));
    }

}



/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 640px) {

    .drum-gallery-section {
        padding: 65px 20px;
    }


    .drum-gallery-heading {
        margin-bottom: 32px;
    }


    .drum-gallery-description {
        font-size: 15px;
    }


    .drum-gallery-main {
        min-height: 310px;
    }


    .drum-gallery-image-area {
        min-height: 310px;

        padding:
            28px
            54px;
    }


    .drum-gallery-image-area img {
        max-height: 270px;
    }


    .drum-gallery-arrow {
        width: 40px;
        height: 40px;

        font-size: 18px;
    }


    .drum-gallery-prev {
        left: 8px;
    }


    .drum-gallery-next {
        right: 8px;
    }


    .drum-gallery-info {
        padding:
            22px
            0
            26px;
    }


    .drum-gallery-info h3 {
        font-size: 20px;
    }


    .drum-gallery-thumbnails {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));

        gap: 8px;

        margin-top: 22px;
    }


    .drum-gallery-thumbnail {
        padding: 5px;
    }

}

/* =========================================================
   FIBER CABLE REEL
   E9141
   ========================================================= */


/* ---------------------------------------------------------
   COMMON
   --------------------------------------------------------- */

.fiber-reel-container {
    width: min(1200px, calc(100% - 48px));
    margin: 0 auto;
}


.fiber-reel-section-heading {
    margin-bottom: 48px;
}


.fiber-reel-section-heading h2 {
    margin:
        8px
        0
        14px;

    color: #10213d;

    font-size: 38px;
    line-height: 1.4;
}


.fiber-reel-section-heading > p:last-child {
    margin: 0;

    color: #667085;

    font-size: 16px;
    line-height: 2;
}



/* ---------------------------------------------------------
   HERO
   --------------------------------------------------------- */

.fiber-reel-hero-image {
    display: flex;

    align-items: center;
    justify-content: center;

    min-height: 570px;

    padding: 44px;

    background: #f5f7fa;
}


.fiber-reel-hero-image img {
    display: block;

    width: auto;
    max-width: 100%;

    max-height: 500px;

    object-fit: contain;
}



/* ---------------------------------------------------------
   FEATURES
   --------------------------------------------------------- */

.fiber-reel-features {
    padding:
        105px
        0;

    background: #f5f7fa;
}


.fiber-reel-feature-grid {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 28px;
}


.fiber-reel-feature-card {
    min-height: 280px;

    padding:
        40px
        34px;

    background: #ffffff;

    border:
        1px
        solid
        #d9e0e8;

    border-radius: 10px;
}


.fiber-reel-feature-number {
    display: block;

    margin-bottom: 12px;

    color: #17458f;

    font-size: 14px;
    font-weight: 700;

    letter-spacing: 0.12em;
}


.fiber-reel-feature-card h3 {
    margin:
        0
        0
        18px;

    color: #10213d;

    font-size: 22px;
}


.fiber-reel-feature-card p {
    margin: 0;

    color: #566276;

    font-size: 15px;
    line-height: 2;
}



/* ---------------------------------------------------------
   SPEC
   --------------------------------------------------------- */

.fiber-reel-spec {
    padding:
        110px
        0;

    background: #ffffff;
}


.fiber-reel-spec-layout {
    display: grid;

    grid-template-columns:
        minmax(320px, 0.85fr)
        minmax(420px, 1.15fr);

    gap: 70px;

    align-items: center;
}


.fiber-reel-spec-image {
    display: flex;

    align-items: center;
    justify-content: center;

    min-height: 430px;

    padding: 36px;

    background: #f5f7fa;
}


.fiber-reel-spec-image img {
    display: block;

    width: auto;
    max-width: 100%;

    max-height: 380px;

    object-fit: contain;
}


.fiber-reel-spec-table {
    width: 100%;

    border-collapse: collapse;

    color: #10213d;

    font-size: 15px;
}


.fiber-reel-spec-table tr {
    border-top:
        1px
        solid
        #d8dee7;
}


.fiber-reel-spec-table tr:last-child {
    border-bottom:
        1px
        solid
        #d8dee7;
}


.fiber-reel-spec-table th,
.fiber-reel-spec-table td {
    padding:
        24px
        26px;

    text-align: left;
}


.fiber-reel-spec-table th {
    width: 34%;

    background: #edf2f8;

    font-weight: 700;
}


.fiber-reel-spec-table td {
    background: #ffffff;
}



/* ---------------------------------------------------------
   OPTION
   --------------------------------------------------------- */

.fiber-reel-option {
    padding:
        100px
        0;

    background: #f5f7fa;
}


.fiber-reel-option-inner {
    display: grid;

    grid-template-columns:
        240px
        1fr;

    gap: 70px;

    align-items: start;
}


.fiber-reel-option-label span {
    display: inline-block;

    margin-top: 12px;

    padding:
        7px
        14px;

    color: #17458f;

    background: #e6eef9;

    border-radius: 100px;

    font-size: 13px;
    font-weight: 700;
}


.fiber-reel-option-content h2 {
    margin:
        0
        0
        20px;

    color: #10213d;

    font-size: 34px;
}


.fiber-reel-option-content p {
    max-width: 700px;

    margin:
        0
        0
        14px;

    color: #566276;

    font-size: 15px;
    line-height: 2;
}


.fiber-reel-option-lead {
    color: #10213d !important;

    font-size: 20px !important;
}


.fiber-reel-option-lead strong {
    color: #17458f;
}


.fiber-reel-option-size {
    margin-top: 22px !important;

    color: #10213d !important;

    font-weight: 700;
}



/* ---------------------------------------------------------
   ORDER
   --------------------------------------------------------- */

.fiber-reel-order {
    padding:
        105px
        0;

    background: #ffffff;
}


.fiber-reel-order-inner {
    display: grid;

    grid-template-columns:
        1fr
        320px;

    gap: 90px;

    align-items: center;
}


.fiber-reel-order-inner h2 {
    margin:
        8px
        0
        24px;

    color: #10213d;

    font-size: 38px;
}


.fiber-reel-order-inner p {
    color: #566276;

    line-height: 2;
}


.fiber-reel-order-links {
    display: flex;

    flex-direction: column;

    align-items: flex-start;

    gap: 20px;
}


.fiber-reel-order-links > a:not(.product-shop-button) {
    color: #17458f;

    padding-bottom: 5px;

    border-bottom:
        1px
        solid
        #17458f;

    font-size: 14px;
    font-weight: 700;

    text-decoration: none;
}



/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 900px) {

    .fiber-reel-features,
    .fiber-reel-spec,
    .fiber-reel-option,
    .fiber-reel-order {
        padding:
            80px
            0;
    }


    .fiber-reel-feature-grid {
        gap: 18px;
    }


    .fiber-reel-feature-card {
        padding:
            30px
            24px;
    }


    .fiber-reel-spec-layout {
        grid-template-columns: 1fr;

        gap: 45px;
    }


    .fiber-reel-spec-image {
        min-height: 400px;
    }


    .fiber-reel-option-inner {
        grid-template-columns: 1fr;

        gap: 28px;
    }


    .fiber-reel-order-inner {
        grid-template-columns: 1fr;

        gap: 45px;
    }

}



/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 640px) {

    .fiber-reel-container {
        width: min(
            100% - 40px,
            1200px
        );
    }


    .fiber-reel-section-heading {
        margin-bottom: 32px;
    }


    .fiber-reel-section-heading h2 {
        font-size: 29px;
    }


    .fiber-reel-hero-image {
        min-height: 390px;

        padding: 25px;
    }


    .fiber-reel-hero-image img {
        max-height: 340px;
    }


    .fiber-reel-features,
    .fiber-reel-spec,
    .fiber-reel-option,
    .fiber-reel-order {
        padding:
            65px
            0;
    }


    .fiber-reel-feature-grid {
        grid-template-columns: 1fr;
    }


    .fiber-reel-feature-card {
        min-height: auto;
    }


    .fiber-reel-spec-image {
        min-height: 320px;

        padding: 24px;
    }


    .fiber-reel-spec-image img {
        max-height: 290px;
    }


    .fiber-reel-spec-table th,
    .fiber-reel-spec-table td {
        padding:
            18px
            15px;
    }


    .fiber-reel-spec-table th {
        width: 40%;
    }


    .fiber-reel-option-content h2 {
        font-size: 28px;
    }


    .fiber-reel-order-inner h2 {
        font-size: 30px;
    }

}

/* =========================================================
   E9141 HERO FIX
   ========================================================= */

.fiber-reel-hero {
    display: block;

    width: 100%;
    max-width: none;

    min-height: auto;

    padding: 80px 0 90px;
}


.fiber-reel-hero .product-hero-inner {
    display: grid;

    grid-template-columns:
        minmax(0, 0.9fr)
        minmax(420px, 1.1fr);

    align-items: center;

    width: min(1200px, calc(100% - 48px));

    margin: 0 auto;

    gap: 80px;
}


.fiber-reel-hero .product-hero-text {
    min-width: 0;
}


.fiber-reel-hero .product-hero-text h1 {
    margin: 0 0 16px;

    color: #10213d;

    font-size: clamp(46px, 4.5vw, 64px);
    line-height: 1.2;

    white-space: nowrap;
}


.fiber-reel-hero .product-number {
    margin: 0 0 28px;

    color: #667085;

    font-size: 15px;
    font-weight: 600;

    letter-spacing: 0.04em;
}


.fiber-reel-hero .product-lead {
    margin: 0 0 22px;

    color: #10213d;

    font-size: 21px;
    font-weight: 600;

    line-height: 1.8;
}


.fiber-reel-hero .product-description {
    min-height: 0;

    margin: 0 0 30px;

    color: #566276;

    font-size: 15px;
    line-height: 2;
}


.product-shop-button {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-height: 50px;

    padding: 13px 24px;

    background: #17458f;

    border: 1px solid #17458f;

    color: #ffffff;

    font-size: 14px;
    font-weight: 700;

    text-decoration: none;

    transition:
        background-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease;
}


.product-shop-button:hover {
    background: #ffffff;

    color: #17458f;

    transform: translateY(-2px);
}



/* TABLET */

@media (max-width: 900px) {

    .fiber-reel-hero {
        padding: 65px 0 75px;
    }


    .fiber-reel-hero .product-hero-inner {
        grid-template-columns: 1fr;

        width: min(100% - 48px, 700px);

        gap: 45px;
    }


    .fiber-reel-hero .product-hero-text h1 {
        font-size: 46px;

        white-space: normal;
    }

}



/* MOBILE */

@media (max-width: 640px) {

    .fiber-reel-hero {
        padding: 50px 0 60px;
    }


    .fiber-reel-hero .product-hero-inner {
        width: calc(100% - 40px);

        gap: 35px;
    }


    .fiber-reel-hero .product-hero-text h1 {
        font-size: 36px;
    }


    .fiber-reel-hero .product-lead {
        font-size: 19px;
    }


    .product-shop-button {
        width: 100%;
    }

}

/* =========================================================
   SITE FOOTER FIX
   ========================================================= */

.site-footer {
    background-color: #16233a;
    color: #ffffff;
}

.site-footer-inner {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr 1fr;

    width: min(1200px, calc(100% - 48px));
    margin: 0 auto;
    padding: 72px 0;

    gap: 70px;
}


/* 会社情報 */

.site-footer .footer-company {
    min-width: 0;
}

.site-footer .footer-logo {
    display: block;

    width: 190px;
    height: auto;

    margin-bottom: 28px;
}

.site-footer .footer-company p {
    margin: 0 0 18px;

    color: rgba(255, 255, 255, 0.72);

    font-size: 13px;
    line-height: 1.9;
}


/* 各リンク列 */

.site-footer .footer-column {
    display: flex;
    flex-direction: column;
    align-items: flex-start;

    gap: 12px;
}

.site-footer .footer-heading {
    margin: 0 0 12px;

    color: rgba(255, 255, 255, 0.48);

    font-size: 11px;
    font-weight: 700;

    letter-spacing: 0.15em;
}

.site-footer .footer-column a {
    color: rgba(255, 255, 255, 0.88);

    font-size: 14px;

    text-decoration: none;

    transition: color 0.2s ease;
}

.site-footer .footer-column a:hover {
    color: #ffffff;
}


/* TABLET */

@media (max-width: 900px) {

    .site-footer-inner {
        grid-template-columns: 1fr 1fr;

        padding: 60px 0;

        gap: 50px 40px;
    }

}


/* MOBILE */

@media (max-width: 640px) {

    .site-footer-inner {
        grid-template-columns: 1fr;

        width: calc(100% - 40px);

        padding: 50px 0;

        gap: 38px;
    }

}

/* =========================================================
   E9141 OPTION IMAGE
   ========================================================= */

.fiber-option-inner {
    display: grid;
    grid-template-columns: 420px 1fr;
    align-items: center;

    width: min(1100px, calc(100% - 48px));
    margin: 0 auto;

    gap: 90px;
}

.fiber-option-image {
    display: flex;
    align-items: center;
    justify-content: center;

    min-height: 360px;

    padding: 35px;

    background-color: #ffffff;
}

.fiber-option-image img {
    display: block;

    width: 100%;
    max-width: 450px;
    height: 380px;

    object-fit: contain;
}

.fiber-option-content {
    min-width: 0;
}


/* TABLET */

@media (max-width: 900px) {

    .fiber-option-inner {
        grid-template-columns: 340px 1fr;

        gap: 50px;
    }

    .fiber-option-image {
        min-height: 300px;
    }

    .fiber-option-image img {
        max-width: 300px;
        height: 250px;
    }

}


/* MOBILE */

@media (max-width: 640px) {

    .fiber-option-inner {
        grid-template-columns: 1fr;

        width: calc(100% - 40px);

        gap: 35px;
    }

    .fiber-option-image {
        min-height: 280px;

        padding: 25px;
    }

    .fiber-option-image img {
        max-width: 320px;
        height: auto;
    }

}
/* TOOL TOWN top page redesign. Scoped to avoid altering product detail pages. */
.tt-home{color:#243b50;font-size:14px;line-height:1.8}.tt-home a{text-decoration:none}.tt-home a:focus-visible{outline:3px solid #0099ce;outline-offset:5px}.tt-home section[id]{scroll-margin-top:90px}.tt-skip{position:absolute;left:12px;top:-80px;z-index:200;background:white;padding:12px}.tt-skip:focus{top:12px}
.tt-home .site-header{height:72px;position:sticky;top:0;border-bottom:1px solid #e7edf1}.tt-home .site-header-inner{width:min(1200px,calc(100% - 64px))}.tt-home .site-name img{width:178px}.tt-home .site-nav{gap:32px}.tt-home .site-nav a{font-size:13px;padding:12px 0}.tt-home .site-nav a::after{bottom:5px}.tt-home .site-nav .tt-nav-contact{padding:8px 23px;background:#6e7b86;color:white;border-radius:30px}.tt-home .tt-nav-contact::after{display:none}.tt-nav-contact span{margin-left:16px}
.tt-brand{text-align:center;padding:74px 24px 46px;background:#fff}.tt-eyebrow{font-size:11px;color:#65808e;letter-spacing:.14em;margin:0 0 22px}.tt-brand h1{font-size:clamp(29px,3vw,46px);font-weight:600;letter-spacing:.1em;line-height:1.6;margin:0 0 18px}.tt-brand>p:not(.tt-eyebrow){font-size:14px;color:#627583;margin:0}.tt-text-link{display:inline-flex;align-items:center;gap:35px;color:#008fc5;margin-top:24px;font-size:13px}.tt-mobile-break{display:none}
.tt-pickup{width:min(1200px,calc(100% - 64px));margin:0 auto 48px;display:grid;grid-template-columns:1fr 1fr;gap:28px}.tt-feature{display:grid;grid-template-columns:44% 56%;min-height:215px;background:#eef3f5;overflow:hidden}.tt-feature-copy{position:relative;color:white;background:#0097c9;padding:25px 24px 36px}.tt-feature-copy>span:first-child{font-size:13px}.tt-feature h2{font-size:22px;line-height:1.45;margin:5px 0 20px;color:white}.tt-feature p{font-size:13px;margin:0;line-height:1.7}.tt-feature-arrow{position:absolute;right:20px;bottom:10px;font-size:25px}.tt-feature-image{display:flex;align-items:center;justify-content:center;padding:18px;background:#f0f4f6}.tt-feature img{width:100%;height:180px;object-fit:contain;transition:transform .25s}.tt-feature:hover img{transform:scale(1.04)}
.tt-home .products{padding:48px max(32px,calc((100% - 1200px)/2));background:linear-gradient(120deg,#eaf1f6,#f4f8fa)}.tt-home .section-heading{max-width:none;text-align:center;margin:0 0 28px}.tt-home .section-label{font-size:12px;letter-spacing:.08em;color:#0092c8;margin:0 0 6px}.tt-home .section-heading h2,.tt-home .company-heading h2,.tt-home .order-heading h2{font-size:27px;margin:0 0 10px;line-height:1.5;color:#243b50}.tt-home .section-description{font-size:13px;color:#607180}.tt-home .product-grid{gap:28px}.tt-home .product-card{border:0;border-radius:0;background:white}.tt-card-link{display:block;height:100%}.tt-home .product-image{height:185px;padding:15px 22px;background:#fff}.tt-home .product-image img{transition:transform .25s}.tt-card-link:hover img{transform:scale(1.04)}.tt-home .product-content{position:relative;padding:16px 20px;min-height:112px;border-top:1px solid #edf1f4}.tt-home .product-category{font-size:13px;color:#243b50;margin:0 0 3px}.tt-home .product-content h3{font-size:18px;margin:0;color:#243b50}.tt-home .product-model{font-size:11px;margin:3px 0;color:#768894}.tt-home .product-link{display:block;position:absolute;right:18px;bottom:17px;font-size:0}.tt-home .product-link span{font-size:21px;color:#0097c9}
.tt-home .company-section{padding:48px 32px;background:#fff}.tt-home .company-inner{max-width:1200px;display:grid;grid-template-columns:.9fr 1.1fr;gap:65px}.tt-home .company-heading{margin:0}.tt-home .company-description{font-size:14px;max-width:390px;line-height:1.9}.tt-home .company-table{border-top:1px solid #dbe3e9}.tt-home .company-row{grid-template-columns:115px 1fr;border-bottom:1px solid #dbe3e9}.tt-home .company-title,.tt-home .company-value{padding:12px 16px;font-size:13px}.tt-home .company-title{background:#f3f7fa}
.tt-home .order-section{padding:42px 32px;background:#eaf2f7}.tt-home .order-inner{max-width:1200px}.tt-home .order-heading{margin-bottom:24px}.tt-home .order-description{font-size:13px;line-height:1.8;max-width:none}.tt-home .order-description br:nth-of-type(1){display:none}.tt-home .order-content{grid-template-columns:1.2fr 1fr;background:white;border:0}.tt-home .order-main,.tt-home .order-phone{padding:22px 28px}.tt-home .order-main{border-right:1px solid #e0e7ed}.tt-home .order-small-label{font-size:11px;margin-bottom:6px;color:#0092c8}.tt-home .order-main h3{font-size:16px;margin:0 0 12px;line-height:1.6}.tt-home .order-main h3 br{display:none}.tt-home .order-links{flex-direction:row;gap:12px;max-width:none}.tt-home .order-link{padding:10px 16px;flex:1;gap:12px;border:1px solid #ccd8e0!important;border-radius:24px;font-size:13px}.tt-home .order-phone-title{font-size:12px;margin:0 0 4px}.tt-home .phone-number{font-size:27px;margin:0 0 4px;color:#176898}.tt-home .contact-note{font-size:12px;line-height:1.6}.tt-home .contact-note br{display:none}.tt-line-contact{display:flex;align-items:center;gap:24px;margin-top:18px}.tt-line-contact>div{flex:1}.tt-line-contact h3{display:inline;font-size:14px;margin:0 12px}.tt-line-contact p{font-size:12px;margin:3px 0}.tt-line-contact>a{background:white;border:1px solid #c8d9d1;border-radius:24px;padding:8px 25px;color:#23764c;font-size:13px}.tt-line-contact img{object-fit:contain;width:64px;height:64px}
.tt-home .footer{background:#0a3048;color:#fff}.tt-home .footer-main{width:min(1200px,calc(100% - 64px));margin:auto;padding:32px 0;display:grid;grid-template-columns:1fr 1.4fr;gap:50px}.tt-home .footer-logo{display:block;width:155px;margin:0 0 14px}.tt-home .footer-logo img{width:155px}.tt-home .footer-address,.tt-home .footer-contact{font-size:11px;line-height:1.8;margin:0 0 7px;color:#bfced8}.tt-home .footer-navigation{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.tt-home .footer-column{display:flex;flex-direction:column;gap:7px}.tt-home .footer-column-title{font-size:10px;letter-spacing:.08em;color:#93b0c0;margin:0 0 7px}.tt-home .footer-column a{font-size:12px;color:#e5edf2}.tt-home .footer-column a:hover{text-decoration:underline}.tt-copyright{width:min(1200px,calc(100% - 64px));margin:auto;border-top:1px solid #315269;padding:12px 0;font-size:10px;color:#9cb5c5}
@media(max-width:900px){.tt-home .site-header-inner{width:calc(100% - 40px)}.tt-home .site-nav{gap:18px}.tt-home .site-name img{width:150px}.tt-pickup{width:calc(100% - 40px);gap:18px}.tt-feature-copy{padding:20px 16px 32px}.tt-feature h2{font-size:18px}.tt-home .products{padding:38px 20px}.tt-home .product-grid{gap:18px}.tt-home .product-image{height:160px}.tt-home .company-inner{gap:32px}.tt-home .footer-main{gap:25px;grid-template-columns:1fr 1.6fr}}
@media(max-width:640px){.tt-home .site-header{height:auto}.tt-home .site-header-inner{flex-wrap:wrap;padding:12px 0 8px;gap:8px}.tt-home .site-name img{width:145px}.tt-home .site-nav{width:100%;justify-content:space-between;gap:6px}.tt-home .site-nav a{font-size:11px;padding:6px 0}.tt-home .site-nav .tt-nav-contact{padding:6px 12px}.tt-nav-contact span{margin-left:5px}.tt-home section[id]{scroll-margin-top:110px}.tt-brand{padding:40px 20px 30px}.tt-brand h1{font-size:29px;letter-spacing:.05em}.tt-mobile-break{display:block}.tt-brand>p:not(.tt-eyebrow){font-size:12px}.tt-eyebrow{font-size:9px;letter-spacing:.05em;margin-bottom:15px}.tt-pickup{grid-template-columns:1fr;margin-bottom:30px;gap:14px}.tt-feature{min-height:180px;grid-template-columns:45% 55%}.tt-feature-image img{height:145px}.tt-feature h2{margin-bottom:12px}.tt-feature-copy>span:first-child,.tt-feature p{font-size:12px}.tt-home .section-heading h2,.tt-home .company-heading h2,.tt-home .order-heading h2{font-size:23px}.tt-home .product-grid{grid-template-columns:1fr;gap:14px}.tt-card-link{display:grid;grid-template-columns:40% 60%;align-items:stretch}.tt-home .product-image{height:145px;padding:12px}.tt-home .product-content{min-height:145px;border:0;padding:22px 15px}.tt-home .product-content h3{font-size:17px}.tt-home .company-section,.tt-home .order-section{padding:32px 20px}.tt-home .company-inner{grid-template-columns:1fr;gap:22px}.tt-home .company-row{grid-template-columns:90px 1fr}.tt-home .company-title,.tt-home .company-value{padding:10px 12px}.tt-home .order-content{grid-template-columns:1fr}.tt-home .order-main,.tt-home .order-phone{padding:20px}.tt-home .order-main{border-right:0;border-bottom:1px solid #e0e7ed}.tt-home .order-link{padding:10px 12px;font-size:12px}.tt-line-contact{gap:12px;flex-wrap:wrap}.tt-line-contact>div{flex-basis:100%}.tt-line-contact h3{margin-left:10px}.tt-line-contact>a{flex:1;text-align:center}.tt-home .footer-main{width:calc(100% - 40px);grid-template-columns:1fr;gap:22px;padding:26px 0}.tt-home .footer-navigation{gap:15px;grid-template-columns:1fr 1fr}.tt-home .footer-column:last-child{grid-column:1/-1}.tt-copyright{width:calc(100% - 40px)}}
@media(prefers-reduced-motion:reduce){.tt-home{scroll-behavior:auto}.tt-home *, .tt-home *::before,.tt-home *::after{animation:none!important;transition:none!important}html:has(.tt-home){scroll-behavior:auto}}

/* Animated brand introduction and two-tier corporate navigation */
.tt-home .site-header{height:98px}.tt-home .site-header-inner{gap:30px;width:min(1200px,calc(100% - 48px))}.tt-home .site-name{gap:12px}.tt-home .site-name img{width:178px}.tt-company-name{font-size:11px;color:#7c8995;white-space:nowrap;font-weight:700}.tt-header-right{display:flex;flex-direction:column;align-items:flex-end;gap:10px;min-width:0}.tt-utility{display:flex;align-items:center;gap:20px;font-size:11px;color:#6b7e8e}.tt-utility>a:first-child{letter-spacing:.04em}.tt-contact-pill{display:inline-flex;align-items:center;gap:7px;background:#6e7b86;color:white;padding:4px 22px;border-radius:30px;font-weight:700}.tt-home .site-nav{gap:25px}.tt-home .site-nav>a,.tt-nav-menu summary{font-size:13px;font-weight:600;padding:5px 0;white-space:nowrap;color:#243b50;cursor:pointer}.tt-nav-menu{position:relative}.tt-nav-menu summary{list-style:none}.tt-nav-menu summary::-webkit-details-marker{display:none}.tt-nav-menu summary::after{content:"";display:inline-block;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #afc0cf;margin:0 0 2px 8px}.tt-nav-menu[open] summary::after{transform:rotate(180deg)}.tt-dropdown{position:absolute;top:calc(100% + 12px);right:0;width:255px;z-index:110;background:white;border-top:3px solid #0097c9;box-shadow:0 10px 30px #1b3c5520;padding:12px 18px}.tt-home .tt-dropdown a{display:block;padding:10px 0;font-size:12px;white-space:normal;border-bottom:1px solid #edf2f5}.tt-dropdown a:last-child{border-bottom:0}.tt-dropdown small{float:right;color:#8193a2}.tt-dropdown a:hover,.tt-nav-menu summary:hover,.tt-home .site-nav>a:hover{color:#0097c9}.tt-home section[id],#about-tooltown{scroll-margin-top:118px}
.tt-brand{position:relative;isolation:isolate;overflow:hidden;padding:94px 24px 66px;min-height:355px}.tt-brand h1{font-size:clamp(29px,3.2vw,48px);position:relative}.tt-word{display:inline-block;white-space:nowrap}.tt-char{display:inline-block;animation:tt-letter-enter .9s cubic-bezier(.2,.7,.3,1) both;animation-delay:calc(.25s + var(--i)*.055s)}.tt-brand .tt-eyebrow{animation:tt-soft-enter .9s .1s both}.tt-brand>p:not(.tt-eyebrow){animation:tt-soft-enter 1s 1.4s both}.tt-brand .tt-text-link{animation:tt-soft-enter 1s 1.7s both}.tt-motion-lines{position:absolute;inset:0;z-index:-1;pointer-events:none}.tt-motion-lines i{position:absolute;width:70%;height:180px;border:1px solid #b8ddea66;border-radius:50%;left:-35%;top:18%;transform:rotate(-20deg);animation:tt-line-drift 14s ease-in-out infinite alternate}.tt-motion-lines i:nth-child(2){left:auto;right:-35%;top:42%;width:75%;height:220px;animation-delay:-5s}.tt-motion-lines i:nth-child(3){left:auto;right:-48%;top:52%;width:85%;height:240px;animation-delay:-9s}.tt-brand::before{content:"";position:absolute;z-index:-2;inset:-20%;background:radial-gradient(ellipse at 85% 60%,#dff2fa77,transparent 42%),radial-gradient(ellipse at 8% 20%,#edf7fb99,transparent 35%);animation:tt-glow-drift 16s ease-in-out infinite alternate}
@keyframes tt-letter-enter{from{opacity:0;transform:translateY(18px);filter:blur(4px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes tt-soft-enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes tt-line-drift{from{transform:translateY(-10px) rotate(-20deg)}to{transform:translateY(22px) rotate(-14deg)}}@keyframes tt-glow-drift{from{transform:translateX(-2%)}to{transform:translateX(3%)}}
@media(max-width:1100px){.tt-company-name{display:none}.tt-home .site-header-inner{gap:24px}.tt-home .site-nav{gap:18px}.tt-home .site-nav>a,.tt-nav-menu summary{font-size:12px}.tt-home .site-name img{width:158px}}
@media(max-width:800px){.tt-home .site-header{height:auto}.tt-home .site-header-inner{flex-wrap:wrap;gap:8px;padding:13px 0 10px;width:calc(100% - 40px)}.tt-home .site-name img{width:145px}.tt-company-name{display:block;font-size:10px}.tt-header-right{width:100%;gap:10px;align-items:stretch}.tt-utility{justify-content:flex-end;gap:15px;font-size:10px}.tt-home .site-nav{width:100%;justify-content:space-between;gap:9px;flex-wrap:wrap}.tt-home .site-nav>a,.tt-nav-menu summary{font-size:11px}.tt-home section[id],#about-tooltown{scroll-margin-top:165px}.tt-brand{padding:60px 20px 45px;min-height:315px}.tt-dropdown{width:220px;right:0}.tt-nav-menu:first-of-type .tt-dropdown{left:0;right:auto}}
@media(max-width:420px){.tt-utility>a:first-child{font-size:9px}.tt-utility{gap:10px}.tt-contact-pill{padding:4px 12px}.tt-home .site-nav{gap:6px 12px;justify-content:flex-start}.tt-home .site-nav>a,.tt-nav-menu summary{font-size:10px}.tt-brand h1{font-size:29px}.tt-company-name{font-size:9px}.tt-brand{min-height:330px}}
@media(prefers-reduced-motion:reduce){.tt-home .tt-char,.tt-home .tt-brand>p,.tt-home .tt-brand .tt-text-link,.tt-home .tt-motion-lines i,.tt-home .tt-brand::before{animation:none!important;opacity:1;transform:none;filter:none}}

/* Single product section: three blue product banners */
.tt-home .tt-pickup{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-bottom:38px}
.tt-home .tt-feature{grid-template-columns:48% 52%;min-width:0;min-height:215px}
.tt-home .tt-feature-copy{padding:24px 16px 36px;min-width:0}
.tt-home .tt-feature-copy>span:first-child{font-size:12px}
.tt-home .tt-feature h2{font-size:20px;margin:6px 0 19px;overflow-wrap:anywhere}
.tt-home .tt-feature p{font-size:12px;line-height:1.8}
.tt-home .tt-feature-image{padding:14px;min-width:0}
.tt-home .tt-feature-image img{height:177px}
@media(max-width:1000px){
 .tt-home .tt-pickup{grid-template-columns:1fr;max-width:700px;gap:16px}
 .tt-home .tt-feature{grid-template-columns:45% 55%;min-height:180px}
 .tt-home .tt-feature-copy{padding:22px 24px 32px}
 .tt-home .tt-feature h2{font-size:22px;margin-bottom:12px}
 .tt-home .tt-feature-image img{height:150px}
}
@media(max-width:640px){
 .tt-home .tt-pickup{width:calc(100% - 40px);margin-bottom:28px;gap:14px}
 .tt-home .tt-feature-copy{padding:20px 16px 32px}
 .tt-home .tt-feature h2{font-size:18px}
 .tt-home .tt-feature-image{padding:14px}
 .tt-home .tt-feature-image img{height:145px}
}

/* Spacious first view, followed by a distinct product section */
.tt-home .tt-brand{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:max(580px,calc(100vh - 98px));min-height:max(580px,calc(100svh - 98px));padding:95px 24px 100px;background:#fff}
.tt-home .tt-brand h1{font-size:clamp(34px,3.4vw,56px);margin-bottom:24px;line-height:1.65}
.tt-home .tt-brand>p:not(.tt-eyebrow){font-size:16px;line-height:2;max-width:680px}
.tt-home .tt-brand .tt-text-link{margin-top:34px;font-size:14px;animation-delay:1.9s}
.tt-home .tt-hero-photo{position:absolute;inset:0;z-index:-2;background-image:linear-gradient(90deg,rgba(255,255,255,.92),rgba(255,255,255,.68)),url('../images/hero-telecom-03.png');background-size:cover;background-position:center;animation:tt-photo-reveal 2.8s 2.7s both;pointer-events:none}
.tt-home .tt-brand::before{z-index:-3}
.tt-home .tt-motion-lines{opacity:.55}
@keyframes tt-photo-reveal{from{opacity:0;transform:scale(1.035)}to{opacity:1;transform:scale(1)}}
.tt-products-section{padding:70px 0 76px;background:linear-gradient(120deg,#e9f1f6,#f3f7fa);position:relative}
.tt-products-heading{text-align:center;width:min(1200px,calc(100% - 48px));margin:0 auto 36px}
.tt-products-heading h2{font-size:29px;line-height:1.5;margin:0 0 3px;color:#243b50}
.tt-products-english{margin:0 0 19px;font-size:14px;letter-spacing:.08em;color:#0097c9}
.tt-products-lead{font-size:14px;color:#627583;margin:0;line-height:1.9}
.tt-home .tt-products-section .tt-pickup{margin:0 auto}
.tt-home .company-section{padding:76px 32px}
.tt-home .order-section{padding:64px 32px}
.tt-home .order-heading{margin-bottom:32px}
.tt-home .order-main,.tt-home .order-phone{padding:30px 32px}
.tt-home .tt-line-contact{margin-top:24px}
.tt-home .footer-main{padding:42px 0}
@media(max-width:800px){
 .tt-home .tt-brand{min-height:max(560px,calc(100vh - 145px));min-height:max(560px,calc(100svh - 145px));padding:75px 24px 85px}
 .tt-home .tt-brand h1{font-size:clamp(32px,5vw,42px)}
 .tt-home .tt-brand>p:not(.tt-eyebrow){font-size:14px;max-width:470px}
 .tt-products-section{padding:55px 0 60px}
 .tt-home .company-section{padding:58px 24px}
 .tt-home .order-section{padding:50px 24px}
}
@media(max-width:640px){
 .tt-home .tt-brand{min-height:max(540px,calc(100vh - 155px));min-height:max(540px,calc(100svh - 155px));padding:65px 20px 75px}
 .tt-home .tt-brand h1{font-size:32px;line-height:1.65}
 .tt-home .tt-brand>p:not(.tt-eyebrow){font-size:13px;max-width:310px}
 .tt-home .tt-brand .tt-text-link{margin-top:28px;font-size:13px}
 .tt-home .tt-hero-photo{background-image:linear-gradient(rgba(255,255,255,.83),rgba(255,255,255,.76)),url('../images/hero-telecom-03.png');background-position:60% center}
 .tt-products-section{padding:46px 0 50px}
 .tt-products-heading{width:calc(100% - 40px);margin-bottom:28px}
 .tt-products-heading h2{font-size:25px}
 .tt-products-english{font-size:12px;margin-bottom:14px}
 .tt-products-lead{font-size:12px}
 .tt-home .company-section,.tt-home .order-section{padding:46px 20px}
 .tt-home .order-main,.tt-home .order-phone{padding:24px 20px}
 .tt-home .footer-main{padding:34px 0}
}
@media(prefers-reduced-motion:reduce){.tt-home .tt-hero-photo{animation:none!important;opacity:1;transform:none}}

/* Readability: stronger typography and higher text contrast across the home page */
.tt-home{font-size:16px;font-weight:500;color:#20394f;line-height:1.85}
.tt-home h1,.tt-home h2,.tt-home h3{font-weight:700}
.tt-home .tt-company-name{font-size:12px;color:#4c6071;font-weight:600}
.tt-home .tt-utility{font-size:12px;color:#455c6e;font-weight:600}
.tt-home .tt-contact-pill{background:#586b7a;font-size:12px;padding:5px 20px}
.tt-home .site-nav{gap:22px}
.tt-home .site-nav>a,.tt-home .tt-nav-menu summary{font-size:15px;font-weight:700}
.tt-home .tt-dropdown{width:280px}
.tt-home .tt-dropdown a{font-size:14px;font-weight:600;line-height:1.7}
.tt-home .tt-dropdown small{font-size:11px;color:#52687a;float:none;margin-left:8px}
.tt-home .tt-eyebrow{font-size:13px;font-weight:600;color:#425b70;letter-spacing:.08em}
.tt-home .tt-brand>p:not(.tt-eyebrow){font-size:18px;font-weight:600;color:#354e63}
.tt-home .tt-brand .tt-text-link{font-size:16px;font-weight:700;color:#006e99}
.tt-home .tt-products-heading h2{font-size:31px}
.tt-home .tt-products-english{font-size:16px;font-weight:700;color:#0075a0}
.tt-home .tt-products-lead{font-size:16px;font-weight:500;color:#3f566a}
.tt-home .tt-feature-copy{background:#007da8}
.tt-home .tt-feature-copy>span:first-child{font-size:14px;font-weight:600;line-height:1.6}
.tt-home .tt-feature h2{font-size:22px;font-weight:700;line-height:1.5}
.tt-home .tt-feature p{font-size:14px;font-weight:500;line-height:1.9}
.tt-home .tt-feature{min-height:235px}
.tt-home .section-label,.tt-home .order-small-label{font-size:13px;font-weight:700;color:#00709a}
.tt-home .company-heading h2,.tt-home .order-heading h2{font-size:30px}
.tt-home .company-description,.tt-home .order-description{font-size:16px;font-weight:500;color:#3f566a;line-height:1.95}
.tt-home .company-title,.tt-home .company-value{font-size:15px;line-height:1.85}
.tt-home .company-title{font-weight:700;color:#253e53}
.tt-home .company-value{font-weight:500;color:#354e63}
.tt-home .order-main h3{font-size:18px;font-weight:700}
.tt-home .order-link{font-size:16px;font-weight:700;line-height:1.6}
.tt-home .order-phone-title{font-size:15px;font-weight:600;color:#354e63}
.tt-home .phone-number{font-size:32px;font-weight:700;color:#12628d}
.tt-home .contact-note{font-size:14px;font-weight:500;color:#465f72;line-height:1.85}
.tt-home .tt-line-contact h3{font-size:16px;font-weight:700}
.tt-home .tt-line-contact p{font-size:14px;font-weight:500;color:#354e63;line-height:1.85}
.tt-home .tt-line-contact>a{font-size:15px;font-weight:600;color:#24633f}
.tt-home .footer-address,.tt-home .footer-contact{font-size:14px;font-weight:500;color:#e0eaf0;line-height:1.9}
.tt-home .footer-column-title{font-size:12px;font-weight:700;color:#bdd4e2}
.tt-home .footer-column a{font-size:14px;font-weight:600;color:#f0f5f8;line-height:1.8}
.tt-home .footer-column{gap:10px}
.tt-home .tt-copyright{font-size:12px;font-weight:500;color:#c6d8e3}
@media(max-width:1100px){
 .tt-home .site-nav{gap:16px}
 .tt-home .site-nav>a,.tt-home .tt-nav-menu summary{font-size:14px}
}
@media(max-width:800px){
 .tt-home .site-nav{gap:9px 20px;justify-content:flex-start;flex-wrap:wrap}
 .tt-home .site-nav>a,.tt-home .tt-nav-menu summary{font-size:14px}
 .tt-home .tt-utility{font-size:12px;flex-wrap:wrap;gap:10px 16px}
 .tt-home .tt-utility>a:first-child{font-size:12px}
 .tt-home .tt-company-name{font-size:12px}
 .tt-home section[id],.tt-home #about-tooltown{scroll-margin-top:210px}
 .tt-home .tt-brand>p:not(.tt-eyebrow){font-size:16px}
}
@media(max-width:640px){
 .tt-home .tt-eyebrow{font-size:11px;letter-spacing:.04em}
 .tt-home .tt-brand>p:not(.tt-eyebrow){font-size:15px;max-width:330px}
 .tt-home .tt-brand .tt-text-link{font-size:15px}
 .tt-home .tt-products-heading h2,.tt-home .company-heading h2,.tt-home .order-heading h2{font-size:27px}
 .tt-home .tt-products-english{font-size:14px}
 .tt-home .tt-products-lead,.tt-home .company-description,.tt-home .order-description{font-size:15px}
 .tt-home .tt-feature h2{font-size:20px}
 .tt-home .tt-feature{min-height:215px}
 .tt-home .tt-feature-copy{padding:20px 16px 38px}
 .tt-home .tt-feature p br{display:none}
 .tt-home .order-link{font-size:15px;padding:12px}
 .tt-home .company-title,.tt-home .company-value{font-size:14px}
 .tt-home .company-row{grid-template-columns:95px minmax(0,1fr)}
 .tt-home .phone-number{font-size:30px}
 .tt-home .tt-line-contact h3{display:block;margin:4px 0}
 .tt-home .tt-line-contact>a{font-size:15px}
 .tt-home .footer-navigation{gap:25px 20px}
 .tt-home .tt-dropdown{width:250px;max-width:calc(100vw - 40px)}
}

/* Product pages share the home header, footer, typography and color palette. */
.tt-detail .tt-breadcrumb{width:min(1200px,calc(100% - 64px));margin:0 auto;padding:20px 0 0;display:flex;flex-wrap:wrap;gap:8px 12px;font-size:12px;line-height:1.8;color:#52687a}
.tt-detail .tt-breadcrumb a{font-weight:600;color:#146a93}
.tt-detail .product-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);width:min(1200px,calc(100% - 64px));max-width:1200px;min-height:0;margin:0 auto;padding:35px 0 38px;gap:55px;background:white}
.tt-detail .fiber-reel-hero .product-hero-inner{display:contents}
.tt-detail .product-hero h1,.tt-detail .fiber-reel-hero .product-hero-text h1{font-size:clamp(30px,3vw,43px);line-height:1.4;margin:8px 0 12px;white-space:normal;color:#20394f}
.tt-detail .product-type,.tt-detail .product-category{font-size:15px;font-weight:600;margin:0;color:#465f72}
.tt-detail .product-hero-text>.product-model,.tt-detail .product-number{font-size:15px;font-weight:600;color:#4c6071;letter-spacing:.04em;margin:0 0 16px}
.tt-detail .product-catch,.tt-detail .fiber-reel-hero .product-lead{font-size:17px;line-height:1.9;color:#354e63;font-weight:600;margin:0 0 16px}
.tt-detail .fiber-reel-hero .product-description{font-size:15px;line-height:1.85;color:#3f566a;min-height:0;margin:0 0 18px}
.tt-detail .product-hero-image,.tt-detail .fiber-reel-hero-image{min-height:0;height:320px;padding:22px;background:#eff4f7;border:0}
.tt-detail .product-hero-image img,.tt-detail .fiber-reel-hero-image img{width:100%;height:100%;max-height:276px;max-width:100%;object-fit:contain}
.tt-detail .tt-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin-top:22px}
.tt-detail .hero-button{margin:0;padding:10px 20px;min-height:46px;background:#007da8;border:1px solid #007da8;font-size:15px;font-weight:700;border-radius:24px}
.tt-detail .hero-button:hover{background:#fff;color:#00709a}
.tt-detail .tt-detail-shop,.tt-detail .detail-text-link{font-size:14px;color:#006e99;font-weight:700;border-bottom:1px solid #aac9da}
.tt-detail .tt-detail-nav{width:min(1200px,calc(100% - 64px));margin:0 auto 34px;padding:13px 20px;background:#edf3f7;display:flex;gap:16px 30px;flex-wrap:wrap;border-top:1px solid #d8e3ea}
.tt-detail .tt-detail-nav a{font-size:14px;font-weight:700;color:#354e63}
.tt-detail .tt-detail-nav a span{color:#007da8;margin-left:10px}
.tt-detail .tt-detail-nav a:hover{color:#006e99}
.tt-detail :is(.product-detail-section,.spec-section,.product-movie-section,.installation-section,.drum-gallery-section,.fiber-reel-features,.fiber-reel-spec,.fiber-option-section){padding:48px max(32px,calc((100% - 1200px)/2));margin:0}
.tt-detail :is(.product-detail-section,.installation-section,.drum-gallery-section,.fiber-reel-features,.fiber-option-section){background:linear-gradient(120deg,#e9f1f6,#f3f7fa)}
.tt-detail :is(.spec-section,.product-movie-section,.fiber-reel-spec){background:#fff}
.tt-detail :is(.spec-inner,.product-movie-inner,.installation-inner,.drum-gallery-inner,.fiber-reel-container){width:100%;max-width:1200px;margin:0 auto}
.tt-detail :is(.product-detail-heading,.fiber-reel-section-heading,.drum-gallery-heading){margin:0 0 25px;max-width:none}
.tt-detail :is(.product-detail-heading,.fiber-reel-section-heading,.drum-gallery-heading) h2{font-size:28px;font-weight:700;line-height:1.5;color:#20394f;margin:0;max-width:none}
.tt-detail :is(.movie-description,.installation-description,.drum-gallery-description,.fiber-reel-section-heading>p:not(.section-label)){font-size:15px;line-height:1.85;color:#3f566a;margin:12px 0 0;max-width:none}
.tt-detail .feature-grid,.tt-detail .fiber-reel-feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.tt-detail .feature-card,.tt-detail .fiber-reel-feature-card{min-height:0;padding:23px 24px;background:#fff;border:0;border-top:3px solid #007da8;border-radius:0}
.tt-detail .feature-number,.tt-detail .fiber-reel-feature-number{font-size:13px;font-weight:700;color:#00709a;margin:0 0 8px}
.tt-detail .feature-card h3,.tt-detail .fiber-reel-feature-card h3{font-size:19px;font-weight:700;line-height:1.6;color:#20394f;margin:0 0 10px}
.tt-detail .feature-card p:not(.feature-number),.tt-detail .fiber-reel-feature-card p{font-size:15px;font-weight:500;line-height:1.85;color:#3f566a;margin:0}
.tt-detail .spec-inner{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);gap:38px;align-items:start}
.tt-detail .spec-row{grid-template-columns:180px minmax(0,1fr)}
.tt-detail .spec-title,.tt-detail .spec-value{font-size:15px;line-height:1.8;padding:13px 18px}
.tt-detail .spec-title{background:#edf3f7;font-weight:700;color:#20394f}
.tt-detail .spec-value{font-weight:500;color:#354e63}
.tt-detail .fiber-reel-spec>.fiber-reel-container{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);gap:38px;align-items:start}
.tt-detail .fiber-reel-spec-layout{display:block}
.tt-detail .fiber-reel-spec-table{font-size:15px;table-layout:fixed}
.tt-detail .fiber-reel-spec-table th,.tt-detail .fiber-reel-spec-table td{padding:13px 18px;font-size:15px;line-height:1.8;overflow-wrap:anywhere}
.tt-detail .fiber-reel-spec-table th{width:34%;background:#edf3f7;color:#20394f;font-weight:700}
.tt-detail .fiber-reel-spec-table td{color:#354e63;font-weight:500}
.tt-detail .movie-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
.tt-detail .movie-frame{aspect-ratio:16/9;min-height:0;height:auto;overflow:hidden;background:#edf3f7}
.tt-detail .movie-frame iframe,.tt-detail .movie-frame video{display:block;width:100%;height:100%;border:0}
.tt-detail .movie-item h3{font-size:18px;line-height:1.6;margin:14px 0 7px;color:#20394f}
.tt-detail .movie-item p{font-size:15px;color:#3f566a;line-height:1.85;margin:0 0 12px}
.tt-detail .installation-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.tt-detail .installation-card{padding:0 0 20px;border:0;border-radius:0;background:#fff}
.tt-detail .installation-image{height:210px;min-height:0;padding:16px;background:#fff}
.tt-detail .installation-image img{width:100%;height:100%;max-height:none;object-fit:contain}
.tt-detail .installation-card h3{font-size:18px;line-height:1.6;margin:12px 20px 8px;color:#20394f}
.tt-detail .installation-card p{font-size:15px;line-height:1.85;color:#3f566a;margin:0 20px}
.tt-detail .fiber-option-inner{grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);gap:38px;width:100%;max-width:1200px}
.tt-detail .fiber-option-image{min-height:0;height:240px;padding:20px;background:#fff}
.tt-detail .fiber-option-image img{width:100%;height:100%;max-width:100%;object-fit:contain}
.tt-detail .fiber-option-content h2{font-size:28px;line-height:1.5;margin:10px 0 15px;color:#20394f}
.tt-detail .fiber-option-tag{font-size:12px;padding:4px 10px;background:#fff;color:#00709a;font-weight:700}
.tt-detail .fiber-option-lead{font-size:18px;color:#20394f;font-weight:600;margin:0 0 12px}
.tt-detail .fiber-option-description,.tt-detail .fiber-option-spec{font-size:15px;line-height:1.85;color:#3f566a;margin:0 0 10px}
.tt-detail .drum-gallery-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);column-gap:34px;align-items:start}
.tt-detail .drum-gallery-heading{grid-column:1;grid-row:1}
.tt-detail .drum-gallery-main{grid-column:2;grid-row:1/span 2;min-height:0;height:350px;border:0;background:#fff}
.tt-detail .drum-gallery-image-area{height:350px;padding:20px 55px}
.tt-detail .drum-gallery-image-area img{max-height:310px;max-width:100%;object-fit:contain}
.tt-detail .drum-gallery-info{grid-column:1;grid-row:2;margin:0 0 18px;text-align:left}
.tt-detail .drum-gallery-info h3{font-size:20px;color:#20394f;line-height:1.5;margin:6px 0}
.tt-detail .drum-gallery-count{font-size:13px;font-weight:700;color:#00709a;margin:0}
.tt-detail .drum-gallery-thumbnails{grid-column:1/-1;margin-top:18px;display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-start;overflow:visible}
.tt-detail .drum-gallery-thumbnail{width:72px;height:64px;flex:0 0 72px;padding:5px;border-radius:0;background:white}
.tt-detail .drum-gallery-thumbnail img{width:100%;height:100%;object-fit:contain}
.tt-detail .drum-gallery-arrow{width:38px;height:38px;font-size:18px;min-width:0}
.tt-detail .drum-gallery-prev{left:10px}.tt-detail .drum-gallery-next{right:10px}
.tt-detail .tt-detail-order{padding:44px max(32px,calc((100% - 1200px)/2));background:#eaf2f7}
.tt-detail-order-inner{display:grid;grid-template-columns:1.1fr 1fr;gap:50px;align-items:center}
.tt-detail-order h2{font-size:28px;line-height:1.5;margin:0 0 12px}
.tt-detail-order p:not(.section-label){font-size:15px;line-height:1.9;color:#3f566a;margin:0 0 12px}
.tt-detail-phone{font-size:23px;font-weight:700;color:#12628d}
.tt-detail-order-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.tt-detail-order-actions a{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:13px 18px;font-size:14px;font-weight:700;border:1px solid #c9d7e1;border-radius:28px;background:white;color:#243b50}
.tt-detail-order-actions a span{font-size:12px;color:#006e99;white-space:nowrap}
.tt-detail .tt-related{width:min(1200px,calc(100% - 64px));margin:0 auto;padding:25px 0;display:flex;flex-wrap:wrap;gap:12px 25px;font-size:13px}
.tt-related>span{font-weight:700}.tt-related a{color:#006e99;font-weight:600}.tt-related a[aria-current]{color:#52687a}
@media(max-width:900px){
 .tt-detail .product-hero{gap:30px;grid-template-columns:minmax(0,1fr) minmax(0,.85fr)}
 .tt-detail .product-hero-image{height:280px}
 .tt-detail .feature-grid,.tt-detail .fiber-reel-feature-grid{gap:15px}
 .tt-detail .feature-card,.tt-detail .fiber-reel-feature-card{padding:20px 18px}
 .tt-detail .spec-inner,.tt-detail .fiber-reel-spec>.fiber-reel-container{grid-template-columns:1fr;gap:22px}
 .tt-detail .spec-inner>.product-detail-heading,.tt-detail .fiber-reel-section-heading{margin-bottom:0}
 .tt-detail-order-inner{gap:25px;grid-template-columns:1fr}
}
@media(max-width:640px){
 .tt-detail .tt-breadcrumb,.tt-detail .product-hero,.tt-detail .tt-detail-nav,.tt-detail .tt-related{width:calc(100% - 40px)}
 .tt-detail .tt-breadcrumb{font-size:11px;padding-top:15px}
 .tt-detail .product-hero{grid-template-columns:1fr;gap:24px;padding:25px 0 28px}
 .tt-detail .product-hero h1,.tt-detail .fiber-reel-hero .product-hero-text h1{font-size:31px}
 .tt-detail .product-hero-image,.tt-detail .fiber-reel-hero-image{height:260px;padding:18px}
 .tt-detail .product-hero-image img{max-height:224px}
 .tt-detail .product-catch,.tt-detail .fiber-reel-hero .product-lead{font-size:16px}
 .tt-detail .product-catch br,.tt-detail .product-description br{display:none}
 .tt-detail .tt-detail-nav{gap:12px 20px;margin-bottom:25px;padding:13px 16px}
 .tt-detail :is(.product-detail-section,.spec-section,.product-movie-section,.installation-section,.drum-gallery-section,.fiber-reel-features,.fiber-reel-spec,.fiber-option-section){padding:34px 20px}
 .tt-detail :is(.product-detail-heading,.fiber-reel-section-heading,.drum-gallery-heading) h2,.tt-detail .fiber-option-content h2,.tt-detail-order h2{font-size:25px}
 .tt-detail .feature-grid,.tt-detail .fiber-reel-feature-grid,.tt-detail .installation-grid,.tt-detail .movie-grid{grid-template-columns:1fr;gap:16px}
 .tt-detail .feature-card,.tt-detail .fiber-reel-feature-card{padding:20px}
 .tt-detail .spec-row{grid-template-columns:110px minmax(0,1fr)}
 .tt-detail .spec-title,.tt-detail .spec-value,.tt-detail .fiber-reel-spec-table th,.tt-detail .fiber-reel-spec-table td{padding:11px 12px;font-size:14px}
 .tt-detail .installation-image{height:220px}
 .tt-detail .fiber-option-inner{grid-template-columns:1fr;gap:22px}
 .tt-detail .fiber-option-image{height:220px}
 .tt-detail .drum-gallery-inner{display:block}
 .tt-detail .drum-gallery-main,.tt-detail .drum-gallery-image-area{height:280px}
 .tt-detail .drum-gallery-image-area img{max-height:240px}
 .tt-detail .drum-gallery-info{margin:15px 0}
 .tt-detail .drum-gallery-thumbnail{width:60px;height:55px;flex-basis:60px}
 .tt-detail .drum-gallery-thumbnails{gap:8px}
 .tt-detail .tt-detail-order{padding:34px 20px}
 .tt-detail-order-actions{grid-template-columns:1fr}
 .tt-detail-order-actions a{font-size:15px}
 .tt-detail .tt-related{flex-direction:column;gap:10px;padding:22px 0}
}

/* Four product cards: retain the blue copy / photo layout and readable text. */
.tt-home .tt-products-section .tt-pickup{grid-template-columns:repeat(2,minmax(0,1fr));max-width:1200px;gap:22px}
.tt-home .tt-products-section .tt-feature{grid-template-columns:48% 52%;min-height:260px}
.tt-home .tt-products-section .tt-feature-copy{padding:26px 24px 40px}
.tt-home .tt-products-section .tt-feature h2{margin-bottom:12px}
.tt-home .tt-products-section .tt-feature-model{font-size:20px;font-weight:700;line-height:1.5;margin:0 0 12px;letter-spacing:.03em}
.tt-home .tt-products-section .tt-feature-image img{height:210px}
@media(max-width:800px){
 .tt-home .tt-products-section .tt-pickup{grid-template-columns:1fr;max-width:700px;gap:16px}
 .tt-home .tt-products-section .tt-feature{min-height:235px}
 .tt-home .tt-products-section .tt-feature-copy{padding:22px 20px 38px}
 .tt-home .tt-products-section .tt-feature-image img{height:180px}
}
@media(max-width:420px){
 .tt-home .tt-products-section .tt-feature-copy{padding:20px 14px 38px}
 .tt-home .tt-products-section .tt-feature h2{font-size:19px}
 .tt-home .tt-products-section .tt-feature-model{font-size:18px}
 .tt-home .tt-products-section .tt-feature-image img{height:160px}
}

/* Expanded company profile and access map. */
.tt-home .company-section{padding-top:64px;padding-bottom:64px}
.tt-home .company-inner{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start;gap:48px}
.tt-home .company-table{margin:0;min-width:0}
.tt-home .company-row{grid-template-columns:120px minmax(0,1fr)}
.tt-home .company-value{margin:0;overflow-wrap:anywhere}
.tt-home .tt-company-list{margin:0;padding-left:1.2em;font-weight:600}
.tt-company-access{margin-top:32px;padding-top:24px;border-top:1px solid #dbe3e9}
.tt-company-access h3{font-size:20px;font-weight:700;margin:0 0 12px;color:#16233a}
.tt-company-access p{font-size:16px;line-height:1.8;margin:0 0 18px}
.tt-company-access iframe{display:block;width:100%;height:320px;border:0;background:#e9f1f6}
.tt-map-link{display:inline-block;margin-top:14px;color:#007da8;font-size:15px;font-weight:700}
.tt-map-link:hover{text-decoration:underline}
@media(max-width:900px){
 .tt-home .company-inner{grid-template-columns:1fr;gap:28px}
 .tt-home .company-heading{display:grid;grid-template-columns:1fr 1fr;column-gap:28px;align-items:start}
 .tt-home .company-heading>.section-label,.tt-home .company-heading>h2,.tt-home .company-description{grid-column:1}
 .tt-company-access{grid-column:2;grid-row:1/5;margin-top:0;padding-top:0;border-top:0}
}
@media(max-width:640px){
 .tt-home .company-heading{display:block}
 .tt-home .company-row{grid-template-columns:95px minmax(0,1fr)}
 .tt-company-access{margin-top:24px;padding-top:22px;border-top:1px solid #dbe3e9}
 .tt-company-access iframe{height:260px}
 .tt-home .company-section{padding-top:42px;padding-bottom:42px}
}

/* Single locally hosted product video. */
.tt-detail .movie-grid.tt-movie-single{grid-template-columns:minmax(0,1fr);max-width:760px;margin:0 auto}

/* Clearly identify both multistand models on the shared detail page. */
.tt-multistand-variants{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;min-width:0;align-items:stretch}
.tt-variant{margin:0;min-width:0;display:flex;flex-direction:column;background:#eef4f7;border:1px solid #dce7ee}
.tt-variant-image{height:220px;padding:16px;background:#f3f7fa}
.tt-variant-image img{width:100%;height:100%;object-fit:contain}
.tt-variant figcaption{flex:1;display:flex;flex-direction:column;align-items:flex-start;padding:16px 18px 18px;background:#007da8;color:#fff}
.tt-variant-type{font-size:13px;font-weight:700;border:1px solid #ffffff80;padding:2px 8px;margin-bottom:9px}
.tt-detail .tt-variant h2{font-size:18px;line-height:1.5;color:#fff;margin:0 0 9px;font-weight:700}
.tt-variant-model{font-size:22px;font-weight:700;letter-spacing:.03em;margin:auto 0 0;line-height:1.5}
@media(max-width:1000px){.tt-variant-image{height:190px;padding:12px}.tt-variant figcaption{padding:14px 12px}.tt-detail .tt-variant h2{font-size:16px}}
@media(max-width:640px){.tt-variant-image{height:210px}.tt-multistand-variants{gap:12px}}
@media(max-width:380px){.tt-variant-image{height:165px}.tt-detail .tt-variant h2{font-size:15px}.tt-variant-model{font-size:20px}}

/* Soften variant labels and give product photos a little more room. */
.tt-variant-image{height:250px;padding:10px}
.tt-variant figcaption{padding:13px 18px 15px;background:#f3f7fa;color:#20394f;border-top:1px solid #dce7ee}
.tt-variant-type{background:#e4eff5;color:#007396;border:0;padding:3px 9px;margin-bottom:7px}
.tt-detail .tt-variant h2{color:#20394f;margin-bottom:8px}
.tt-variant-model{color:#007396;font-size:22px}
@media(max-width:1000px){.tt-variant-image{height:220px;padding:8px}.tt-variant figcaption{padding:12px}}
@media(max-width:640px){.tt-variant-image{height:235px}}
@media(max-width:380px){.tt-variant-image{height:185px}.tt-variant-model{font-size:20px}}

/* Homepage finish: clearer hierarchy, restrained color and a photo-led first view. */
.tt-home:not(.tt-detail) .tt-brand{align-items:flex-start;text-align:left;padding-left:max(32px,calc((100% - 1200px)/2));padding-right:32px}
.tt-home:not(.tt-detail) .tt-brand h1{font-size:clamp(36px,3.5vw,60px);line-height:1.5;letter-spacing:.045em;max-width:100%;margin-top:24px;margin-bottom:24px}
.tt-home:not(.tt-detail) .tt-brand .tt-eyebrow{color:#36556d;letter-spacing:.08em}
.tt-home:not(.tt-detail) .tt-brand>p:not(.tt-eyebrow){font-size:18px;font-weight:600;max-width:620px}
.tt-home:not(.tt-detail) .tt-hero-photo{background-image:linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.9) 28%,rgba(255,255,255,.65) 54%,rgba(255,255,255,.16) 100%),url('../images/hero-telecom-03.png');background-position:center;animation-duration:1.8s}
.tt-home:not(.tt-detail) .tt-motion-lines{opacity:.18}
.tt-home:not(.tt-detail) .tt-brand .tt-text-link{display:inline-flex;align-items:center;gap:32px;background:#007da8;border:1px solid #007da8;border-radius:4px;padding:12px 24px;color:white;font-size:16px;font-weight:700;margin-top:28px;transition:background .2s}
.tt-home:not(.tt-detail) .tt-brand .tt-text-link:hover{background:#005e80}
.tt-home .tt-products-section{background:#edf3f7;padding:76px 0 80px}
.tt-home .tt-products-heading{margin-bottom:38px}
.tt-home .tt-products-section .tt-pickup{gap:24px}
.tt-home .tt-products-section .tt-feature{grid-template-columns:44% 56%;min-height:286px;border:1px solid #dce6ed;transition:box-shadow .2s,border-color .2s}
.tt-home .tt-products-section .tt-feature:hover{box-shadow:0 8px 24px #16394e14;border-color:#91b9cb}
.tt-home .tt-products-section .tt-feature-copy{display:flex;flex-direction:column;align-items:flex-start;padding:24px 22px 40px;background:#007da8}
.tt-home .tt-products-section .tt-feature-category{font-size:13px;font-weight:600;line-height:1.6;opacity:.92}
.tt-home .tt-products-section .tt-feature h3{font-size:21px;font-weight:700;line-height:1.5;color:#fff;margin:10px 0 12px;min-height:63px;letter-spacing:0}
.tt-home .tt-products-section .tt-feature-model{font-size:22px;font-weight:700;line-height:1.4;margin:0 0 14px;letter-spacing:.035em}
.tt-home .tt-products-section .tt-feature-description{font-size:14px;line-height:1.8;margin:0}
.tt-home .tt-products-section .tt-feature-image{background:white;padding:20px}
.tt-home .tt-products-section .tt-feature-image img{height:242px;width:100%;object-fit:contain}
.tt-home .tt-products-section .tt-feature-arrow{right:20px;bottom:12px;font-size:24px}
.tt-home .tt-contact-pill{background:#20394f}
.tt-home .tt-products-english,.tt-home .section-label{color:#007da8}
.tt-home .company-value{color:#354e63}
.tt-home summary:focus-visible{outline:3px solid #007da8;outline-offset:5px}
@media(max-width:1000px){
 .tt-home .tt-products-section .tt-feature-copy{padding:22px 18px 38px}
 .tt-home .tt-products-section .tt-feature h3{font-size:19px;min-height:57px}
}
@media(max-width:800px){
 .tt-home:not(.tt-detail) .tt-brand{padding-left:24px;padding-right:24px}
 .tt-home:not(.tt-detail) .tt-brand h1{font-size:clamp(34px,5vw,44px)}
 .tt-home .tt-products-section .tt-feature h3{font-size:22px;min-height:66px}
 .tt-home .tt-products-section .tt-pickup{gap:18px}
}
@media(max-width:640px){
 .tt-home:not(.tt-detail) .tt-brand{padding-left:20px;padding-right:20px;align-items:center;text-align:center}
 .tt-home:not(.tt-detail) .tt-brand h1{font-size:32px;line-height:1.6}
 .tt-home:not(.tt-detail) .tt-brand>p:not(.tt-eyebrow){font-size:16px;max-width:330px}
 .tt-home:not(.tt-detail) .tt-hero-photo{background-image:linear-gradient(180deg,rgba(255,255,255,.88),rgba(255,255,255,.78) 60%,rgba(255,255,255,.48)),url('../images/hero-telecom-03.png');background-position:60% center}
 .tt-home .tt-products-section{padding:52px 0 56px}
 .tt-home .tt-products-section .tt-feature{grid-template-columns:48% 52%;min-height:260px}
 .tt-home .tt-products-section .tt-feature-copy{padding:20px 14px 38px}
 .tt-home .tt-products-section .tt-feature h3{font-size:18px;min-height:54px}
 .tt-home .tt-products-section .tt-feature-model{font-size:20px}
 .tt-home .tt-products-section .tt-feature-image{padding:12px}
 .tt-home .tt-products-section .tt-feature-image img{height:220px}
}
@media(prefers-reduced-motion:reduce){.tt-home .tt-feature,.tt-home .tt-feature img,.tt-home .tt-brand .tt-text-link{transition:none}}

/* Drum reel: product-led heading, compact specifications and labeled gallery. */
.tt-drum .product-hero{align-items:center}
.tt-drum .product-hero-image{height:350px;padding:12px;background:#fff;border:1px solid #e1e9ef}
.tt-drum .product-hero-image img{max-height:326px}
.tt-drum .spec-inner{display:block;max-width:980px}
.tt-drum .spec-inner>.product-detail-heading{margin-bottom:24px}
.tt-drum .spec-table{width:100%;margin:0}
.tt-drum .spec-row{grid-template-columns:220px minmax(0,1fr)}
.tt-drum .drum-gallery-inner{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:22px 32px}
.tt-drum .drum-gallery-heading{grid-column:1/-1;grid-row:1;margin:0}
.tt-drum .drum-gallery-main{grid-column:2;grid-row:2;height:360px;border:1px solid #dce6ed}
.tt-drum .drum-gallery-image-area{height:360px;padding:20px 55px}
.tt-drum .drum-gallery-image-area img{max-height:320px}
.tt-drum .drum-gallery-info{grid-column:1;grid-row:2;margin:0;padding:24px;background:#fff;border-top:3px solid #007da8}
.tt-drum .tt-gallery-hint{font-size:15px;line-height:1.9;color:#3f566a;margin:18px 0 0}
.tt-drum .drum-gallery-thumbnails{grid-row:3;gap:10px;margin-top:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}
.tt-drum .drum-gallery-thumbnail{display:flex;flex-direction:column;width:100%;height:auto;min-height:118px;padding:8px;border:1px solid #dce6ed;color:#20394f;font-weight:600}
.tt-drum .drum-gallery-thumbnail img{width:100%;height:68px;object-fit:contain}
.tt-drum .tt-thumb-label{display:block;font-size:12px;line-height:1.5;margin-top:7px;text-align:left}
.tt-drum .drum-gallery-thumbnail.active{border:2px solid #007da8;padding:7px;background:#f2f8fb;box-shadow:none}
.tt-drum .tt-detail-order{background:#fff;border-top:1px solid #dce6ed}
@media(max-width:900px){.tt-drum .drum-gallery-thumbnails{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:640px){
 .tt-drum .product-hero-image{height:300px;padding:10px}
 .tt-drum .product-hero-image img{max-height:278px}
 .tt-drum .spec-row{grid-template-columns:110px minmax(0,1fr)}
 .tt-drum .drum-gallery-inner{grid-template-columns:1fr;gap:18px}
 .tt-drum .drum-gallery-main{grid-column:1;grid-row:2;height:300px}
 .tt-drum .drum-gallery-image-area{height:300px;padding:16px 45px}
 .tt-drum .drum-gallery-image-area img{max-height:268px}
 .tt-drum .drum-gallery-info{grid-column:1;grid-row:3;padding:18px}
 .tt-drum .drum-gallery-thumbnails{grid-row:4;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
}

/* Multistand: compact video, stronger installation photos and explicit model scope. */
.tt-multi .product-hero{align-items:center}
.tt-multi .tt-variant{background:#fff}
.tt-multi .tt-variant-image{background:#fff}
.tt-multi .tt-variant figcaption{padding:13px 18px 15px}
.tt-multi .tt-variant h2{min-height:54px;margin-bottom:8px}
.tt-multi .product-movie-inner{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);gap:38px;align-items:start}
.tt-multi .product-movie-inner>.product-detail-heading{margin:0;padding-top:8px}
.tt-multi .movie-grid.tt-movie-single{width:100%;max-width:none;margin:0}
.tt-multi .movie-description{font-size:16px;line-height:1.9}
.tt-multi .installation-image{height:250px;padding:10px;background:#fff}
.tt-multi .installation-card{border:1px solid #dce6ed;padding-bottom:22px}
.tt-multi .installation-card h3{margin-top:16px}
.tt-multi .spec-inner{display:block;max-width:980px}
.tt-multi .spec-inner>.product-detail-heading{margin-bottom:24px}
.tt-multi .spec-table{width:100%;margin:0}
.tt-multi .spec-row{grid-template-columns:220px minmax(0,1fr)}
.tt-multi .tt-function-note{font-size:15px;line-height:1.8;color:#3f566a;margin:12px 0 0}
.tt-multi .tt-detail-order{background:#edf3f7;border-top:1px solid #dce6ed}
@media(max-width:900px){.tt-multi .product-movie-inner{grid-template-columns:1fr;gap:22px}.tt-multi .movie-grid.tt-movie-single{max-width:760px;margin:0 auto}}
@media(max-width:640px){
 .tt-multi .installation-image{height:260px;padding:12px}
 .tt-multi .spec-row{grid-template-columns:110px minmax(0,1fr)}
 .tt-multi .tt-variant figcaption{padding:12px}
}

/* Fiber cable reel: consistent product image, specification layout and option card. */
.tt-fiber .product-hero{align-items:center}
.tt-fiber .product-hero-image.fiber-reel-hero-image{height:350px;padding:12px;background:#fff;border:1px solid #e1e9ef}
.tt-fiber .fiber-reel-hero-image img{max-height:326px}
.tt-fiber .fiber-reel-spec>.fiber-reel-container{display:block;max-width:980px;margin:0 auto}
.tt-fiber .fiber-reel-spec .fiber-reel-section-heading{margin-bottom:24px}
.tt-fiber .fiber-reel-spec-table{width:100%;margin:0}
.tt-fiber .fiber-reel-spec-table th{width:220px}
.tt-fiber .fiber-option-inner{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:32px;align-items:center;background:#fff;border:1px solid #dce6ed;padding:26px;box-sizing:border-box}
.tt-fiber .fiber-option-image{height:260px;padding:10px}
.tt-fiber .fiber-option-tag{background:#e4eff5;color:#007396;padding:4px 10px}
.tt-fiber .fiber-option-description{max-width:620px}
.tt-fiber .fiber-option-spec{display:inline-block;padding:9px 14px;background:#f3f7fa;border-left:3px solid #007da8;margin-top:6px}
.tt-fiber .tt-detail-order{background:#fff;border-top:1px solid #dce6ed}
@media(max-width:800px){.tt-fiber .fiber-option-inner{grid-template-columns:1fr;gap:20px;padding:22px}.tt-fiber .fiber-option-image{height:240px}}
@media(max-width:640px){
 .tt-fiber .product-hero-image.fiber-reel-hero-image{height:300px;padding:10px}
 .tt-fiber .fiber-reel-hero-image img{max-height:278px}
 .tt-fiber .fiber-reel-spec-table th{width:110px}
 .tt-fiber .fiber-option-inner{padding:18px}
 .tt-fiber .fiber-option-content h2{font-size:25px}
}
