/* Ciot CLM page styles. Bootstrap 4 provides the grid and responsive utilities. */
:root {
    --ciot-blue: #006eb8;
    --ciot-deep-blue: #004d82;
    --ciot-light-blue: #eaf6fd;
    --ciot-cyan: #19a7d8;
    --ciot-dark: #000000;
    --ciot-text: #000000;
    --ciot-border: #d9e7ef;
    --ciot-bg: #f5f9fb;
}

html {
    scroll-behavior: smooth;
}

body {
    color: var(--ciot-text);
    background: #fff;
    font-family: "Noto Sans TC", "Microsoft JhengHei", Arial, sans-serif;
    font-size: 17px;
    line-height: 1.8;
}

h1, 
h2, 
h3, 
p {
    margin-top: 0;
}

h1, 
h2, 
h3 {
    color: var(--ciot-dark);
    font-weight: 600;
    line-height: 1.35;
}

h1 {
    font-size: 46px;
    letter-spacing: .02em;
}

h2 {
    font-size: 40px;
    margin-bottom: 1%;
}

h3 {
    font-size: 22px;
}

/*
p {
    margin-bottom: 18px;
}
*/


.h2-subtitle{
font-size:21px;
font-weight: 300;
line-height: 2.4rem;
}

.site-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    background: rgba(255,255,255,.98);
    border-bottom: 1px solid #c8d1d6;
}

.navbar {
    min-height: 76px;
}

.navbar-brand img {
    width: 150px;
    height: auto;
}

.navbar-nav.clm-nav-scroll {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    gap: 22px;
    width: 100%;
    overflow-x: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

.navbar-nav.clm-nav-scroll::-webkit-scrollbar {
    display: none;
}

.navbar-nav.clm-nav-scroll .nav-item {
    flex: 0 0 auto;
}

.navbar-nav .clm-nav-link {
    color: #425563;
    font-size: 16px;
    padding: 8px 0 !important;
}

.navbar-nav .clm-nav-link:hover, 
.navbar-nav .clm-nav-link:focus {
    color: var(--ciot-blue);
}

.navbar-nav .nav-cta .clm-nav-link {
    display: inline-block;
    color: var(--ciot-blue);
    border: 1px solid var(--ciot-blue);
    border-radius: 22px;
    padding: 5px 18px !important;
}

.navbar-nav .nav-cta .clm-nav-link:hover {
    color: #fff;
    background: var(--ciot-blue);
}

.clm-hero {
    min-height: 590px;
	background-image: url("../images/iot_security/2026/clm/bg.jpg");
    display: flex;
    align-items: center;
    color: #fff;
/*    background: linear-gradient(115deg, #005891 0%, #007fc2 62%, #0b9dca 100%);*/
    overflow: hidden;
}

.clm-hero h1, 
.clm-hero h1 span {
    color: #fff;
}

.hero-copy {
    padding: 72px 15px;
}

.eyebrow {
    color: var(--ciot-blue);
    font-size: 15px;
    font-weight: 600;
    letter-spacing: .09em;
    line-height: 1.4;
    text-transform: uppercase;
    margin-bottom: 14px;
}

.clm-hero .eyebrow {
    color: #a8eaff;
}

.hero-lead {
    max-width: 650px;
    font-size: 19px;
    margin: 24px 0 30px;
	color: #fff;
	line-height: 2rem;
}

.hero-actions .btn {
    margin: 0 10px 10px 0;
    font-size: 17px;
}

.btn-primary {
    background: var(--ciot-blue);
    border-color: var(--ciot-blue);
}

.btn-primary:hover, 
.btn-primary:focus {
    background: var(--ciot-deep-blue);
    border-color: var(--ciot-deep-blue);
}

.hero-actions .btn-primary {
    background: #fff;
    border-color: #fff;
    color: var(--ciot-blue);
}

.hero-actions .btn-primary:hover {
    background: #e7f6fd;
    border-color: #e7f6fd;
}

.hero-trust-panel {
    margin: 50px 0;
    padding: 36px 42px;
    border: 2px solid rgba(255,255,255,.35);
    border-radius: 6px;
    background: rgba(0,50,88,.22);
    box-shadow: 0 18px 40px rgba(0,39,70,.2);
}

.trust-node {
    padding: 14px;
    border-radius: 4px;
    text-align: center;
    color: #fff;
    font-weight: 600;
    letter-spacing: .03em;
}

.node-key {
    background: #07527f;
}

.node-certificate {
    background: #0875a8;
}

.node-provisioning {
    background: #0a91bd;
}

.node-device {
    background: #16b0cf;
}

.trust-line {
    height: 26px;
    width: 1px;
    margin: 0 auto;
    background: rgba(255,255,255,.7);
}

.section {
    padding: 92px 0;
}

.section-heading {
    max-width: 900px;
    margin: 0 auto 48px;
}

.section-heading > p:last-child {
    margin-bottom: 0;
}

.section-intro {
    background: #fff;
}

.intro-card {
    height: 100%;
    padding: 28px;
    border: 1px solid var(--ciot-border);
    border-radius: 4px;
    background: #fff;
}

.intro-card:hover {
    box-shadow: 0 12px 30px rgba(0,83,130,.1);
}

.card-number {
    color: var(--ciot-cyan);
    font-size: 32px;
    font-weight: 600;
    line-height: 1;
    margin-bottom: 22px;
}

.intro-card h3 {
    margin-bottom: 10px;
}

.intro-card p {
    margin-bottom: 0;
	line-height: 2rem;
}

.direction-section {
    background: var(--ciot-bg);
}

.direction-card {
    height: 100%;
    padding: 30px 30px 30px;
    border-top: 5px solid var(--ciot-blue);
    background: #fff;
    box-shadow: 0 8px 24px rgba(25,75,105,.07);
}


.direction-card p{
line-height: 2rem;
font-size: 19px;
margin-bottom: 8%;
}

.direction-operation {
    border-top-color: var(--ciot-cyan);
}

.direction-label, 
.case-tag {
    color: var(--ciot-blue);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.direction-card h3 {
    font-size: 28px;
    margin: 9px 0 15px;
}

.feature-list {
    padding-left: 22px;
    margin: 22px 0 24px;
}

.feature-list li {
    margin-bottom: 7px;
}

.text-link {
    color: var(--ciot-blue);
    font-weight: 400;
    text-decoration: none;
}

.text-link:hover {
    color: var(--ciot-deep-blue);
    text-decoration: none;
}

.architecture-section {
    background: #fff;
}

.architecture-notes {
    border-left: 3px solid var(--ciot-cyan);
    margin-top: 27px;
    padding-left: 18px;
}

.architecture-notes div {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 8px;
}

.architecture-notes strong {
    width: 100px;
    color: var(--ciot-deep-blue);
}

.architecture-notes span {
    flex: 1;
}

.architecture-flow {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 35px 20px;
    border: 1px solid var(--ciot-border);
    border-radius: 5px;
    background: var(--ciot-bg);
}

.flow-block {
    flex: 1;
    min-width: 100px;
    padding: 22px 10px;
    text-align: center;
    border: 1px solid #bdd9e7;
    background: #fff;
}

.flow-block strong {
    display: block;
    color: var(--ciot-dark);
    font-size: 17px;
    line-height: 1.4;
}

.flow-block small {
    display: block;
    margin-top: 6px;
    font-size: 13px;
    line-height: 1.5;
}

.flow-highlight {
    border: 2px solid var(--ciot-blue);
    box-shadow: 0 8px 20px rgba(0,107,177,.15);
}

.flow-icon {
    display: block;
    width: 38px;
    height: 38px;
    margin: 0 auto 10px;
    border-radius: 50%;
    color: #fff;
    background: var(--ciot-blue);
    font-weight: 600;
    line-height: 38px;
}

.flow-arrow {
    padding: 0 6px;
    color: var(--ciot-blue);
    font-size: 25px;
}

.light-section {
    background: var(--ciot-light-blue);
}

.step-list {
    margin-top: 28px;
}

.step-item {
    display: flex;
    margin-bottom: 15px;
}

.step-item > span {
    flex: 0 0 42px;
    color: var(--ciot-blue);
    font-weight: 600;
	font-size: 18px;
}

.step-item strong {
    color: var(--ciot-dark);
	font-size: 20px;
}

.step-item p {
    margin: 2px 0 0;
    font-size: 17px;
    line-height: 1.6;
}

.process-panel {
    padding: 30px;
    border-radius: 4px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(0,83,130,.1);
}

.process-title {
    color: var(--ciot-blue);
    font-weight: 600;
    margin-bottom: 23px;
}

.process-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 13px 0;
    border-bottom: 1px solid var(--ciot-border);
}

.process-row b {
    color: var(--ciot-cyan);
}

.process-result {
    margin-top: 22px;
    padding: 12px;
    color: #fff;
    text-align: center;
    background: var(--ciot-deep-blue);
    font-size: 15px;
}

.operation-section {
    background: #fff;
}

.operation-item {
    height: 100%;
    padding: 25px 22px;
    border: 1px solid var(--ciot-border);
    text-align: center;
}

.operation-icon {
    display: inline-block;
    margin-bottom: 14px;
    color: var(--ciot-blue);
    font-size: 27px;
    font-weight: 600;
}

.operation-icon img {
    width: 60px;        /* 依據設計稿調整寬度 */
    height: 60px;       /* 依據設計稿調整高度 */
    object-fit: contain; /* 確保圖片不拉伸變形 */
}
.operation-item h3 {
    margin-bottom: 8px;
    font-size: 21px;
}

.operation-item p {
    margin-bottom: 0;
    font-size: 17px;
}

.case-section {
    background: var(--ciot-bg);
}

.case-card {
    height: 100%;
    padding: 20px;
    border: 1px solid var(--ciot-border);
    background: #fff;
}

.case-card h3 {
    margin: 12px 0 14px;
    font-size: 24px;
}

.case-card p {
   line-height:2.2rem;
}

.integration-section {
    background: #fff;
}

.integration-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.integration-tags span {
    padding: 3px 9px;
    border: 1px solid #b9d7e6;
    border-radius: 8px;
    color: var(--ciot-deep-blue);
    background: #f2faff;
}

.contact-section {
    color: #fff;
    background:#002c45;
}

.contact-section h2, 
.contact-section p {
    color: #fff;
}

.contact-section > .container {
    max-width: 760px;
}

.contact-section .btn {
    margin-top: 10px;
    color: var(--ciot-blue);
    background: #fff;
    border-color: #fff;
}

.contact-section .eyebrow {
    color: #a8eaff;
}

.site-footer {
    padding: 23px 0;
    color: #b8c9d3;
    background: #18384d;
    font-size: 14px;
}

.site-footer p {
    margin: 0;
}

/*
.go-top {
    display: none;
    position: fixed;
    right: 22px;
    bottom: 22px;
    z-index: 999;
    width: 44px;
    height: 44px;
    border: 0;
    border-radius: 50%;
    color: #fff;
    background: var(--ciot-blue);
    font-size: 22px;
    cursor: pointer;
}

.go-top.is-visible {
    display: block;
}
*/



/* Responsive Styles */
@media (max-width: 991.98px) {
    h1 {
        font-size: 38px;
    }
    .navbar-nav.clm-nav-scroll {
        justify-content: flex-start;
        gap: 18px;
        padding: 12px 0;
    }
    .navbar-nav .clm-nav-link {
        padding: 6px 0 !important;
    }
    .section {
        padding: 72px 0;
    }
    .architecture-flow {
        margin-top: 15px;
    }
}

@media (max-width: 767.98px) {
    body {
        font-size: 17px;
    }
    .clm-hero {
        min-height: auto;
    }
    .hero-copy {
        padding: 64px 15px 70px;
    }
    .hero-lead {
        font-size: 18px;
    }
    .section {
        padding: 58px 0;
    }
    .section-heading {
        margin-bottom: 34px;
    }
    h1 {
        font-size: 32px;
    }
    h2 {
        font-size: 29px;
    }
    .direction-card {
        padding: 30px 25px;
    }
    .architecture-flow {
        display: block;
        padding: 25px 18px;
    }
    .flow-block {
        width: 100%;
    }
    .flow-arrow {
        padding: 7px 0;
        text-align: center;
        transform: rotate(90deg);
    }
    .case-card p {
        min-height: auto;
    }
    .site-footer p + p {
        margin-top: 5px;
    }
}

@media (max-width: 575.98px) {
    .navbar {
        min-height: 68px;
    }
    .navbar-brand img {
        width: 130px;
    }
    .hero-actions .btn {
        display: block;
        width: 100%;
    }
    .hero-actions .btn:last-child {
        margin-bottom: 0;
    }
    .process-panel {
        padding: 22px 17px;
    }
    .process-row {
        font-size: 17px;
    }
    .architecture-notes strong {
        width: 88px;
    }
    .integration-tags {
        gap: 8px;
    }
    .integration-tags span {
        padding: 8px 12px;
        font-size: 15px;
    }
}