/* Landing page extras - PT Dawi Karya Mandiri */
html { scroll-behavior: smooth; }
section[id] { scroll-margin-top: 90px; }

.brand-text { font-size: 22px; font-weight: 800; color: #00235a; letter-spacing: .5px; line-height: 1.1; }
.brand-text small { display: block; font-size: 11px; font-weight: 600; color: #1E6FEB; letter-spacing: 2px; text-transform: uppercase; }
.brand-text.light { color: #fff; }

.hero-contents .hero-sub { color: #fff; max-width: 620px; font-size: 18px; margin: 18px 0 32px; opacity: .92; }
.single-slide { position: relative; }
.single-slide::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,22,60,.85) 0%, rgba(0,22,60,.45) 60%, rgba(0,22,60,.2) 100%); }
.single-slide .container { position: relative; z-index: 1; }

/* stats */
.stats-strip { background: #00235a; color: #fff; padding: 46px 0; }
.stats-strip .stat { text-align: center; padding: 10px 15px; }
.stats-strip .stat i { font-size: 34px; color: #1E6FEB; margin-bottom: 12px; display: block; }
.stats-strip .stat h4 { color: #fff; font-size: 20px; margin-bottom: 4px; }
.stats-strip .stat span { opacity: .75; font-size: 14px; }

/* about */
.about-points { list-style: none; padding: 0; margin: 22px 0 30px; }
.about-points li { padding-left: 32px; position: relative; margin-bottom: 12px; font-weight: 500; }
.about-points li::before { content: "\f00c"; font-family: "Font Awesome 5 Pro", "Font Awesome 5 Free"; font-weight: 900; position: absolute; left: 0; top: 0; color: #1E6FEB; }
.about-visual { position: relative; }
.about-visual img { width: 100%; border-radius: 6px; }
.about-visual .badge-box { position: absolute; left: -20px; bottom: 30px; background: #1E6FEB; color: #fff; padding: 22px 28px; border-radius: 4px; box-shadow: 0 12px 30px rgba(0,0,0,.2); }
.about-visual .badge-box h3 { color: #fff; margin: 0 0 4px; font-size: 22px; }
.about-visual .badge-box span { font-size: 13px; opacity: .9; }
@media (max-width: 575px) { .about-visual .badge-box { left: 10px; } }

/* services */
.svc-card { background: #fff; border: 1px solid #e8ecf3; border-radius: 6px; padding: 34px 28px; height: 100%; transition: all .3s ease; margin-bottom: 30px; }
.svc-card:hover { transform: translateY(-6px); box-shadow: 0 18px 40px rgba(0,35,90,.12); border-color: #1E6FEB; }
.svc-card .ico { width: 64px; height: 64px; border-radius: 50%; background: rgba(30,111,235,.1); color: #1E6FEB; display: flex; align-items: center; justify-content: center; font-size: 26px; margin-bottom: 20px; }
.svc-card h3 { font-size: 21px; margin-bottom: 10px; }
.svc-card p { margin: 0; font-size: 15px; }

/* process */
.process-wrap { background: #00235a; color: #fff; }
.process-wrap .section-title h1, .process-wrap .section-title p { color: #fff; }
.step { text-align: center; padding: 20px 14px; position: relative; }
.step .num { width: 70px; height: 70px; border-radius: 50%; background: #1E6FEB; color: #fff; font-size: 26px; font-weight: 800; display: flex; align-items: center; justify-content: center; margin: 0 auto 18px; }
.step h4 { color: #fff; font-size: 19px; margin-bottom: 8px; }
.step p { color: rgba(255,255,255,.75); font-size: 14px; margin: 0; }

/* clients */
.client-card { background: #fff; border: 1px solid #e8ecf3; border-radius: 6px; padding: 34px 20px; text-align: center; height: 100%; margin-bottom: 30px; transition: all .3s ease; }
.client-card:hover { box-shadow: 0 14px 34px rgba(0,35,90,.1); transform: translateY(-4px); }
.client-card .mark { width: 78px; height: 78px; margin: 0 auto 18px; border-radius: 50%; background: #00235a; color: #fff; font-weight: 800; font-size: 24px; display: flex; align-items: center; justify-content: center; }
.client-card h4 { font-size: 18px; margin-bottom: 6px; }
.client-card span { font-size: 13px; color: #1E6FEB; font-weight: 600; text-transform: uppercase; letter-spacing: 1px; }

/* why us */
.why-item { display: flex; gap: 18px; margin-bottom: 28px; }
.why-item .ico { flex: 0 0 56px; height: 56px; border-radius: 4px; background: #1E6FEB; color: #fff; display: flex; align-items: center; justify-content: center; font-size: 22px; }
.why-item h4 { font-size: 19px; margin-bottom: 4px; }
.why-item p { margin: 0; font-size: 15px; }

/* contact */
.contact-box { background: #fff; border-radius: 6px; padding: 40px; box-shadow: 0 18px 50px rgba(0,35,90,.1); }
.contact-box input, .contact-box textarea, .contact-box select { width: 100%; border: 1px solid #dfe4ee; border-radius: 4px; padding: 14px 16px; margin-bottom: 16px; font-size: 15px; background: #fff; }
.contact-box input:focus, .contact-box textarea:focus, .contact-box select:focus { outline: none; border-color: #1E6FEB; }
.contact-box button.theme-btn { cursor: pointer; }
.info-row { display: flex; gap: 16px; margin-bottom: 26px; color: #fff; }
.info-row .icon { flex: 0 0 52px; height: 52px; border-radius: 50%; background: #1E6FEB; display: flex; align-items: center; justify-content: center; font-size: 20px; }
.info-row h5 { color: #fff; margin: 0 0 2px; font-size: 16px; }
.info-row span, .info-row a { color: rgba(255,255,255,.8); font-size: 15px; }
.contact-wrap { background: #00235a; }
.contact-wrap .section-title h1, .contact-wrap .section-title p { color: #fff; }

.wa-float { position: fixed; right: 22px; bottom: 22px; z-index: 999; width: 58px; height: 58px; border-radius: 50%; background: #25d366; color: #fff; display: flex; align-items: center; justify-content: center; font-size: 30px; box-shadow: 0 8px 22px rgba(0,0,0,.25); }
.wa-float:hover { color: #fff; transform: scale(1.08); }

/* ===== Hierarchy & overflow fixes ===== */
:root { --blue: #1E6FEB; --navy: #00235a; }

/* hero */
.hero-1 .single-slide { padding: 130px 0 120px; }
.hero-1 .single-slide .hero-contents h1 { font-size: clamp(34px, 5vw, 62px); line-height: 1.12; letter-spacing: -1px; text-transform: none; max-width: 760px; margin-bottom: 0; }
.hero-1 .single-slide .hero-contents h3 { font-size: 16px; letter-spacing: 2px; text-transform: uppercase; }
.hero-1 .single-slide .hero-contents .animated-text, .hero-1 .single-slide .hero-contents .animated-text.animated-btn { opacity: 1 !important; visibility: visible !important; transform: none !important; }
.hero-1 .single-slide .hero-contents .hero-sub { font-size: clamp(15px, 1.6vw, 18px); margin: 18px 0 30px; }
.hero-1 .single-slide .hero-contents a.theme-btn { margin: 0 10px 10px 0; }
.single-slide::before { z-index: 0 !important; background: linear-gradient(90deg, rgba(0,35,90,.92) 0%, rgba(0,35,90,.65) 55%, rgba(0,35,90,.3) 100%) !important; }

/* header */
.header-info-element .single-info-element .text span { font-size: 14px; line-height: 1.3; white-space: nowrap; }
.header-info-element .single-info-element .text h5 { font-size: 15px; white-space: nowrap; }
.header-info-element .theme-btn { padding: 14px 24px; white-space: nowrap; }
.brand-text { white-space: nowrap; }

/* section headings: one consistent scale */
.section-title h1, .block-contents h1 { font-size: clamp(28px, 3.4vw, 42px); line-height: 1.2; text-transform: none; }
.section-title { margin-bottom: 50px; }
.block-contents h4 { font-size: 18px; line-height: 1.6; font-weight: 500; }
.cta-wrapper .cta-heading { font-size: clamp(24px, 3vw, 36px); line-height: 1.3; }
.faq-section .content-block h1 { font-size: clamp(26px, 3vw, 38px); line-height: 1.25; }
.faq-section .content-block .bg-img { max-width: 100%; overflow: hidden; }
.faq-section .content-block .bg-img img { max-width: 100%; height: auto; }

/* shared */
img { max-width: 100%; }
.stats-strip .stat h4 { font-size: 18px; }
.stats-strip .stat { padding: 10px 8px; }
.svc-card h3, .why-item h4, .client-card h4 { line-height: 1.3; overflow-wrap: anywhere; }
.client-card h4 { font-size: 17px; }
.process-wrap .section-title h1, .contact-wrap .section-title h1 { color: #fff; }
.contact-box { padding: 32px; }
.info-row span, .info-row a { overflow-wrap: anywhere; }
.about-visual .badge-box { left: 16px; }
body { overflow-x: hidden; }

/* hapus kata watermark raksasa yang menimpa judul */
.section-title > span { display: none !important; }
.section-title > p { color: #1E6FEB; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; font-size: 14px; margin-bottom: 8px; }
.process-wrap .section-title > p, .contact-wrap .section-title > p { color: #7fb2ff; }
.block-contents > span { display: inline-block; color: #1E6FEB; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; font-size: 14px; margin-bottom: 10px; }

.cta-wrapper .cta-content { background: linear-gradient(120deg, #1E6FEB 0%, #0b4bb8 100%) !important; }
.faq-section .content-block > p { color: #1E6FEB; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; font-size: 14px; margin-bottom: 8px; }
.faq-section .content-block .bg-img { display: none; }
.block-contents h1 { margin-bottom: 16px; }
.block-contents > p { margin-bottom: 24px; }

.footer-1 .footer-widgets { background: #00183f !important; padding-top: 70px; }
.footer-1 .footer-bottom { background: #001330 !important; }
.footer-1 .single-footer-wid a { color: rgba(255,255,255,.8); }
.footer-1 .single-footer-wid a:hover { color: #7fb2ff; }

/* logo klien */
.client-card .logo-box { height: 90px; display: flex; align-items: center; justify-content: center; margin-bottom: 20px; padding: 0 10px; }
.client-card .logo-box img { max-width: 100%; max-height: 80px; width: auto; height: auto; object-fit: contain; }
