/* IRON CONSTRUCTION V4 — premium corporate editorial direction.
   Readability remains the priority: minimum 16px for content and controls. */
:root{--premium-deep:#061b36;--premium-navy:#0a2f5f;--premium-blue:#0a5ed7;--premium-royal:#116fef;--premium-cyan:#4cd0fb;--premium-ice:#edf5fc;--premium-ink:#1a3554;--premium-body:#415c77;--premium-line:#d9e6f2}
body{font-size:17px;color:var(--premium-ink);background:#fff}
html{scroll-padding-top:110px}
.container{max-width:1360px}
a,button{transition:background-color .2s,color .2s,border-color .2s,transform .2s}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #14a5ed;outline-offset:4px}
.header{box-shadow:0 10px 32px #0a2b5210}
.brand-icon{border-radius:3px;background:linear-gradient(135deg,#063672,#1178ed);width:51px;height:51px;box-shadow:5px 5px 0 #e1efff}
.topline{background:#051a36}
.topflex{min-height:44px}
.hero-swiper{height:690px}
.hero-panel{background:radial-gradient(circle at 82% 35%,#145cb777,transparent 45%),linear-gradient(109deg,#041a35 0%,#073d82 55%,#0b66c7 100%)}
.hero-panel::before{opacity:1;background-size:86px 86px}
.hero-panel-layout{padding-bottom:82px}
.hero-panel .hero-content>p{max-width:600px}
.hero-panel-art img{filter:drop-shadow(-45px 45px 36px #001a556e)}
.hero-premium-meta{display:flex;gap:22px;align-items:center;margin-top:43px;flex-wrap:wrap}
.hero-premium-meta>span:not(.hero-meta-divider){display:flex;flex-direction:column;gap:3px;color:#c7e1fa;font-size:14px;font-weight:600;letter-spacing:.012em;line-height:1.5}
.hero-premium-meta b{font-family:"Barlow Condensed","Kanit",sans-serif;font-size:28px;line-height:1;color:#fff;letter-spacing:.04em}
.hero-meta-divider{width:1px;height:42px;background:#bcdfff65}
.hero-image-disclaimer{font-size:12px;padding:8px 12px}
.trust-strip{background:#eef5fc}
.trust-grid{min-height:142px}
.trust-fact strong{font-family:"Kanit","IBM Plex Sans Thai",sans-serif;font-size:23px}
.trust-source{white-space:normal;line-height:1.45}
/* A compact navigation gateway fills the transition after the company facts. */
.premium-gateway{background:#fff;border-bottom:1px solid var(--premium-line)}
.premium-gateway-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-left:1px solid var(--premium-line);border-right:1px solid var(--premium-line)}
.gateway-tile{min-height:210px;padding:25px 25px 28px;position:relative;display:flex;flex-direction:column;border-right:1px solid var(--premium-line);background:linear-gradient(145deg,#fff,#f8fbff)}
.gateway-tile:last-child{border-right:0}
.gateway-tile:hover{background:#eaf4ff;transform:translateY(-4px);box-shadow:0 15px 27px #0c4d9221;z-index:2}
.gateway-number{font-family:"Barlow Condensed","Manrope",sans-serif;font-weight:800;font-size:16px;letter-spacing:.12em;color:#4c80b6}
.gateway-icon{position:absolute;right:23px;top:23px;width:42px;height:42px;border:1px solid #c7ddf3;display:grid;place-items:center;font-size:24px;color:#0b64c4}
.gateway-title{font-family:"Kanit","IBM Plex Sans Thai",sans-serif;font-size:23px;font-weight:600;line-height:1.4;color:#153a6b;margin:42px 0 6px}
.gateway-desc{font-size:15px;line-height:1.6;color:#4b6884}
.gateway-arrow{position:absolute;right:24px;bottom:28px;font-size:26px;font-weight:500;color:#0c67ce}
.gateway-tile-contact{background:linear-gradient(140deg,#0a3d88,#1174e6)}
.gateway-tile-contact .gateway-number,.gateway-tile-contact .gateway-title,.gateway-tile-contact .gateway-desc,.gateway-tile-contact .gateway-icon{color:#fff}
.gateway-tile-contact .gateway-icon{border-color:#ffffff72}
.gateway-tile-contact:hover{background:#0749a9}
/* Existing editorial copy: compact enough to feel purposeful without sacrificing reading. */
.intro.section{padding:94px 0}
.intro-layout{grid-template-columns:210px minmax(0,1fr) 185px;gap:40px;align-items:center}
.intro-copy h2{font-size:clamp(43px,4vw,61px)}
.intro-badge{background:#eff6ff;border-left:4px solid #1376eb;padding:30px 20px;min-height:210px;justify-content:center}
.intro-badge small{max-width:160px;color:#476889;font-size:14px}
.intro-copy p{max-width:680px}
/* Premium blueprint company feature */
.premium-identity{padding:0;background:#fff}
.identity-grid{display:grid;grid-template-columns:.97fr 1.03fr;min-height:610px;background:#e9f4ff}
.identity-visual{background:linear-gradient(140deg,#092d62,#0d58ac);position:relative;overflow:hidden;min-height:550px;isolation:isolate;display:flex;align-items:center;justify-content:center}
.identity-visual::before{content:"";position:absolute;inset:0;background-image:linear-gradient(#a9d4ff1b 1px,transparent 1px),linear-gradient(90deg,#a9d4ff1b 1px,transparent 1px);background-size:49px 49px;z-index:0}
.identity-visual::after{content:"";position:absolute;width:420px;height:420px;border:1px solid #a6d6ff50;border-radius:50%;box-shadow:0 0 0 58px #ffffff07,0 0 0 115px #ffffff06;z-index:0}
.identity-visual img{width:min(95%,620px);height:470px;object-fit:contain;position:relative;z-index:1;filter:drop-shadow(14px 28px 22px #011b3e7e)}
.identity-drawing-header,.identity-visual-bottom{position:absolute;left:30px;right:30px;display:flex;justify-content:space-between;align-items:center;gap:15px;z-index:2;color:#d1eaff;font-size:14px;letter-spacing:.04em}
.identity-drawing-header{top:26px;border-bottom:1px solid #ffffff50;padding-bottom:17px}
.identity-visual-bottom{bottom:24px;border-top:1px solid #ffffff50;padding-top:17px}
.identity-visual-bottom strong{font-family:"Barlow Condensed",sans-serif;font-size:20px;color:white;letter-spacing:.08em}
.identity-copy{display:flex;flex-direction:column;justify-content:center;padding:70px clamp(32px,5vw,80px);background:linear-gradient(125deg,#f6faff,#eaf4ff)}
.premium-overline{font-family:"IBM Plex Sans Thai","Manrope",sans-serif;display:inline-flex;align-items:center;gap:12px;font-size:15px;font-weight:700;color:#195fae;letter-spacing:.04em}
.premium-square{width:11px;height:11px;background:#1274ee;display:inline-block;flex:none;box-shadow:4px 4px 0 #b6dfff}
.identity-copy h2,.premium-section-head h2,.proof-intro h2,.faq-heading h2{font-family:"Kanit","IBM Plex Sans Thai",sans-serif;font-size:clamp(37px,3.45vw,55px);font-weight:600;line-height:1.35;letter-spacing:-.012em;margin:22px 0 19px;color:#102e59}
.identity-copy>p{font-size:18px;line-height:1.9;color:#405f7b;max-width:660px;margin:0 0 25px}
.identity-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid #bfd6ee;border-bottom:1px solid #bfd6ee;margin-bottom:26px}
.identity-facts>div{padding:18px 12px;border-right:1px solid #bfd6ee}
.identity-facts>div:first-child{padding-left:0}
.identity-facts>div:last-child{border-right:0}
.identity-facts>div>span{font-family:"Barlow Condensed",sans-serif;color:#2e75c9;font-size:18px;font-weight:800}
.identity-facts p{margin:8px 0 5px;font-size:14px;color:#5b7795;line-height:1.55}
.identity-facts strong{display:block;font-size:18px;line-height:1.5;overflow-wrap:anywhere;color:#0d396d;font-weight:700}
.premium-text-link{display:inline-flex;gap:25px;align-items:center;align-self:flex-start;color:#0859bf;font-size:17px;font-weight:700;border-bottom:2px solid #095bc3;padding-bottom:8px;line-height:1.6}
.premium-text-link>span{font-size:22px}
/* Visually substantial service cards */
.services.section{padding:95px 0 105px;background:#f2f7fc}
.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.service-card{min-height:340px;border:1px solid #dbe6f1;border-top:5px solid #126deb;padding:36px 42px;background:#fff}
.service-symbol{font-size:57px;line-height:1;margin:19px 0}
.service-card h3{font-size:27px}
.service-card p{max-width:510px;font-size:18px}
.scope-note{font-size:15px;max-width:1150px}
/* Four-step editorial workflow: useful content without unsupported project numbers. */
.premium-workflow{padding:100px 0 106px;background:#fff;position:relative}
.premium-workflow::before{content:"";position:absolute;right:0;top:0;width:32%;height:100%;background-image:linear-gradient(#e9f0f8 1px,transparent 1px),linear-gradient(90deg,#e9f0f8 1px,transparent 1px);background-size:54px 54px;pointer-events:none;opacity:.54}
.premium-workflow .container{position:relative}
.premium-section-head{display:grid;grid-template-columns:1.35fr .65fr;gap:70px;align-items:end;margin-bottom:42px}
.premium-section-head h2{margin-bottom:0;max-width:760px}
.premium-section-head>p{font-size:18px;line-height:1.83;color:#4b6780;margin:0 0 5px}
.workflow-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.workflow-step{border:1px solid #d9e6f2;padding:24px 23px 27px;background:#fff;min-height:310px;position:relative;box-shadow:0 10px 26px #0a3a650a}
.workflow-step:hover{border-color:#88b8ee;transform:translateY(-4px)}
.workflow-step::before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,#0655c5,#71caff)}
.workflow-index{display:flex;justify-content:space-between;align-items:center}
.workflow-index b{font-family:"Barlow Condensed",sans-serif;font-weight:800;font-size:31px;color:#0c56aa;line-height:1}
.workflow-index span{font-size:23px;color:#2d7be2}
.workflow-symbol{width:61px;height:61px;border:1px solid #c4daf2;background:#edf6ff;display:grid;place-items:center;font-size:34px;color:#0b67c7;margin:25px 0 19px}
.workflow-step h3{font-family:"Kanit","IBM Plex Sans Thai",sans-serif;font-size:23px;font-weight:600;line-height:1.35;margin:0 0 9px;color:#173b67}
.workflow-step p{font-size:16px;color:#506a82;line-height:1.8;margin:0}
.workflow-bottom{margin-top:28px;border-top:1px solid #d7e7f6;padding-top:21px;display:flex;gap:25px;justify-content:space-between;align-items:center}
.workflow-bottom>span{font-size:15px;color:#58758e;line-height:1.75}
.workflow-bottom>a{color:#0d56bf;font-size:17px;font-weight:700;white-space:nowrap}
.premium-dot{display:inline-block;width:9px;height:9px;background:#2789f3;border-radius:50%;margin-right:5px}
/* Photo carousel stays CMS-driven; improve its empty state when genuine photos are unavailable. */
.portfolio.section{padding:96px 0 110px}
.empty-gallery{min-height:440px;border:1px solid #cfdff0;box-shadow:0 20px 44px #0d4a8110}
.empty-art{min-height:440px;background:linear-gradient(135deg,#d8eafb,#f1f8ff)}
.empty-art img{max-width:510px;width:88%}
.empty-copy{padding:53px 60px}
.empty-copy h3{font-size:clamp(29px,2.8vw,39px)}
.portfolio-swiper .project-card{box-shadow:0 15px 29px #0e37610e}
/* Company verification proof: structured, clean, no fabricated badges. */
.premium-proof{background:linear-gradient(128deg,#061c38,#0a3976 67%,#0d55a8);color:white;position:relative;overflow:hidden;padding:105px 0}
.premium-proof::before{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(90deg,#ffffff06 0 1px,transparent 1px 90px)}
.proof-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:75px;position:relative;align-items:center}
.premium-overline-light{color:#b0dfff}
.premium-overline-light .premium-square{background:#48c7fd;box-shadow:4px 4px 0 #ffffff40}
.proof-intro h2{color:#fff;font-size:clamp(39px,3.7vw,59px);max-width:600px}
.proof-intro p{color:#d4e8ff;font-size:18px;line-height:1.92;max-width:610px;margin:0 0 26px}
.proof-facts{display:flex;flex-direction:column;border:1px solid #ffffff43;background:#ffffff0a}
.proof-facts article{display:grid;grid-template-columns:60px 1fr;gap:22px;padding:25px 29px;border-bottom:1px solid #ffffff32}
.proof-facts article:last-child{border-bottom:0}
.proof-fact-symbol{width:54px;height:54px;display:grid;place-items:center;border:1px solid #7bbbff8a;color:#69cafe;font-family:"Barlow Condensed",sans-serif;font-weight:800;font-size:23px}
.proof-facts span{font-family:"Manrope","IBM Plex Sans Thai",sans-serif;letter-spacing:.09em;color:#8cc7ff;font-size:13px;font-weight:700}
.proof-facts h3{font-family:"Kanit","IBM Plex Sans Thai",sans-serif;font-size:23px;line-height:1.4;margin:5px 0 6px;color:#fff;font-weight:500}
.proof-facts p{font-size:15px;line-height:1.7;color:#c9def3;margin:0}
/* Lightweight FAQ accordion with no script dependency. */
.premium-faq{padding:106px 0;background:#f3f8fd}
.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:96px;align-items:start}
.faq-heading{position:sticky;top:130px}
.faq-heading h2{margin-bottom:14px}
.faq-heading p{font-size:18px;line-height:1.85;color:#4f6b84;max-width:470px;margin:0 0 22px}
.faq-accordion{border-top:2px solid #154f95}
.faq-accordion details{border-bottom:1px solid #c7d9ed;background:transparent}
.faq-accordion summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;gap:20px;list-style:none;color:#173a61;font-family:"Kanit","IBM Plex Sans Thai",sans-serif;font-weight:500;font-size:21px;line-height:1.55;padding:22px 0}
.faq-accordion summary::-webkit-details-marker{display:none}
.faq-accordion summary span{color:#126fe4;font-family:"Manrope",sans-serif;font-size:28px;font-weight:400;transition:transform .2s}
.faq-accordion details[open] summary span{transform:rotate(45deg)}
.faq-accordion details p{font-size:17px;line-height:1.9;color:#496681;margin:0 35px 24px 0}
.faq-accordion details a{color:#0b5aba;border-bottom:1px solid currentColor}
/* Bigger lead generation footer */
.cta-inner{min-height:460px;padding:95px 0}
.cta-inner h2{max-width:780px}
.cta-inner>p{max-width:670px}
.footer{background:#05172e}
.footer-brand{font-size:30px}
.footer-top{padding-top:80px}
.mobile-contact-dock{display:none}
@media(max-width:1180px){
 .premium-gateway-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .gateway-tile:nth-child(2){border-right:0}
 .gateway-tile:nth-child(-n+2){border-bottom:1px solid var(--premium-line)}
 .identity-grid{grid-template-columns:1fr 1fr}
 .identity-copy{padding:48px 35px}
 .identity-facts{grid-template-columns:1fr}
 .identity-facts>div{border-right:0;border-bottom:1px solid #bfd6ee;padding:9px 0}
 .identity-facts>div:last-child{border-bottom:0}
 .identity-facts p{display:inline;margin-right:8px}
 .workflow-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .proof-layout{gap:40px}
 .faq-grid{gap:45px}
}
@media(max-width:850px){
 .hero-swiper{height:715px}
 .hero-panel-layout{padding-bottom:45px}
 .hero-premium-meta{margin-top:30px}
 .intro-layout{grid-template-columns:1fr 130px;gap:25px}
 .intro-layout>.section-kicker{grid-column:1/-1}
 .intro-badge{min-height:0}
 .identity-grid{grid-template-columns:1fr}
 .identity-visual{min-height:440px;max-height:450px}
 .identity-visual img{max-height:370px}
 .identity-copy{padding:52px 35px}
 .identity-facts{grid-template-columns:repeat(3,minmax(0,1fr))}
 .identity-facts>div{border-bottom:0;border-right:1px solid #bfd6ee;padding:12px}
 .identity-facts>div:last-child{border-right:0}
 .identity-facts p{display:block}
 .premium-section-head{grid-template-columns:1fr;gap:18px}
 .proof-layout{grid-template-columns:1fr}
 .faq-grid{grid-template-columns:1fr}
 .faq-heading{position:static}
}
@media(max-width:700px){
 .container{width:calc(100% - 38px)}
 .hero-swiper{height:720px}
 .hero-panel-layout{padding:54px 0 54px}
 .hero-panel .hero-content>p{font-size:17px;line-height:1.75}
 .hero-panel h1{font-size:clamp(40px,9vw,57px);line-height:1.2}
 .hero-premium-meta{margin-top:26px;gap:15px}
 .hero-premium-meta>span:not(.hero-meta-divider){font-size:12px}
 .hero-premium-meta b{font-size:22px}
 .hero-panel-art{bottom:-65px;opacity:.34}
 .hero-panel .btn{font-size:15px;min-height:52px;padding:12px 16px}
 .trust-grid{gap:17px}
 .trust-fact strong{font-size:19px}
 .premium-gateway-grid{border-left:0;border-right:0}
 .gateway-tile{min-height:190px;padding:20px 17px}
 .gateway-icon{top:16px;right:14px;width:35px;height:35px;font-size:22px}
 .gateway-number{font-size:14px}
 .gateway-title{font-size:19px;margin-top:42px}
 .gateway-desc{font-size:14px;max-width:170px}
 .gateway-arrow{right:15px;bottom:18px}
 .intro.section,.services.section,.portfolio.section,.premium-workflow,.premium-proof,.premium-faq{padding:72px 0}
 .intro-layout{grid-template-columns:1fr}
 .intro-badge{width:max-content;min-height:0;padding:20px 25px}
 .intro-badge>span{font-size:54px}
 .identity-visual{min-height:320px;max-height:360px}
 .identity-drawing-header,.identity-visual-bottom{left:18px;right:18px;font-size:11px}
 .identity-visual img{height:290px}
 .identity-copy{padding:42px 24px}
 .identity-copy h2,.premium-section-head h2,.proof-intro h2,.faq-heading h2{font-size:clamp(33px,8vw,45px)}
 .identity-copy>p,.premium-section-head>p,.proof-intro p,.faq-heading p{font-size:17px}
 .identity-facts{grid-template-columns:1fr}
 .identity-facts>div{border-right:0;border-bottom:1px solid #bfd6ee;padding:10px 0}
 .identity-facts>div:last-child{border-bottom:0}
 .identity-facts p{display:inline}
 .service-grid,.workflow-grid{grid-template-columns:1fr}
 .service-card,.workflow-step{min-height:0;padding:25px 27px}
 .workflow-symbol{margin:18px 0}
 .workflow-bottom{flex-direction:column;align-items:flex-start}
 .empty-gallery{grid-template-columns:1fr}
 .empty-art{min-height:290px}
 .empty-copy{padding:30px 25px}
 .proof-facts article{grid-template-columns:47px 1fr;gap:17px;padding:22px 17px}
 .proof-fact-symbol{width:45px;height:45px}
 .proof-facts h3{font-size:20px}
 .faq-accordion summary{font-size:19px}
 .mobile-contact-dock{display:flex;align-items:center;justify-content:space-between;gap:12px;position:fixed;z-index:50;bottom:0;left:0;right:0;background:#061d3a;color:#fff;min-height:72px;padding:10px 18px;box-shadow:0 -8px 24px #001a3855}
 .mobile-contact-dock>span{display:flex;flex-direction:column;font-family:"Barlow Condensed",sans-serif;letter-spacing:.03em}
 .mobile-contact-dock b{font-size:19px}
 .mobile-contact-dock small{font-size:11px;color:#b7d3f2;letter-spacing:.05em}
 .mobile-contact-dock>a{padding:12px 14px;background:#1772e7;color:#fff;font-size:16px;font-weight:700;white-space:nowrap}
 .footer{padding-bottom:85px}
 .cta-inner{padding:70px 0;min-height:0}
}
@media(max-width:430px){
 .gateway-tile{min-height:185px;padding:17px 13px}
 .gateway-title{font-size:18px}
 .gateway-desc{font-size:13px}
 .hero-premium-meta{margin-top:22px}
 .hero-panel .hero-content>p{font-size:17px}
 .identity-copy h2,.premium-section-head h2,.proof-intro h2,.faq-heading h2{font-size:35px}
}
@media(prefers-reduced-motion:reduce){.gateway-tile:hover,.workflow-step:hover{transform:none}}
