:root{--navy:#061436;--blue:#0066e6;--cyan:#0dd9e8;--page:#f5f8fc;--surface:#fff;--ink:#12213d;--muted:#52627a;--border:#dce5f1;--radius:12px;--font:'Be Vietnam Pro',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--shadow:0 8px 28px #12213d08;--space:clamp(20px,4vw,40px)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;background:var(--page);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;vertical-align:middle}
svg{width:22px;height:22px;flex-shrink:0}
a{color:var(--blue);text-underline-offset:4px}
button,input,textarea,select{font:inherit}
button,a,input,textarea,select,summary{-webkit-tap-highlight-color:transparent}
button,summary{cursor:pointer}
a,button,summary{transition:background-color .18s,color .18s,border-color .18s,box-shadow .18s}
a:hover{color:color-mix(in srgb,var(--navy) 29%,var(--blue))}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--cyan) 66%,var(--ink));outline-offset:4px}
h1,h2,h3,h4{line-height:1.3;letter-spacing:-.035em;margin-top:0;font-weight:700}
h1{font-size:clamp(34px,4.5vw,58px)}
h2{font-size:clamp(28px,3.1vw,40px)}
h3{font-size:22px}
p{margin:0 0 1em}
ul,ol{padding-left:1.5em}
.container,.section-inner{width:min(1200px,calc(100% - var(--space)*2));margin-inline:auto}
.screen-reader-text{clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;width:1px;overflow:hidden;position:absolute;white-space:nowrap}
.skip-link:focus{clip:auto;clip-path:none;top:8px;left:8px;z-index:1000;width:auto;height:auto;background:var(--surface);padding:12px 24px;color:var(--ink)}
.site-header{background:var(--navy);color:#fff;position:relative;z-index:50;border-bottom:1px solid color-mix(in srgb,var(--surface) 7.06%,transparent)}
.header-inner{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.site-brand{display:flex;align-items:center;text-decoration:none;color:#fff;gap:10px;flex-shrink:0}
.site-brand:hover{color:#fff}
.site-brand img{width:58px;height:58px;object-fit:contain}
.site-brand img.official-logo{width:auto;max-width:170px;max-height:58px}
.brand-copy{display:flex;flex-direction:column}
.brand-copy strong{font-size:23px;line-height:1.1;letter-spacing:-.8px}
.brand-dot,.footer-wordmark span{color:var(--cyan)}
.brand-copy small{font-size:8px;letter-spacing:1.2px;margin-top:7px;color:#adbad2}
.primary-menu,.footer-menu{list-style:none;display:flex;align-items:center;gap:26px;padding:0;margin:0}
.primary-menu a{color:color-mix(in srgb,var(--muted) 11%,var(--border));text-decoration:none;font-size:13px;white-space:nowrap;font-weight:500;display:block;padding:14px 0}
.primary-menu a:hover,.primary-menu .current-menu-item>a{color:var(--cyan)}
.primary-menu li{position:relative}
.primary-menu .sub-menu{display:none;list-style:none;background:var(--navy);padding:16px;position:absolute;min-width:200px;box-shadow:var(--shadow);border:1px solid color-mix(in srgb,var(--surface) 12.55%,transparent)}
.primary-menu li:hover>.sub-menu,.primary-menu li:focus-within>.sub-menu{display:block}
.header-actions{display:flex;align-items:center;gap:6px}
.icon-button{display:flex;align-items:center;justify-content:center;width:42px;min-height:44px;color:var(--border);border:0;background:none;border-radius:8px;text-decoration:none}
.icon-button:hover{background:color-mix(in srgb,var(--surface) 4.71%,transparent);color:var(--cyan)}
.language-switcher{display:flex;gap:2px;margin-right:5px}
.language-switcher a{min-width:32px;min-height:44px;display:grid;place-items:center;color:color-mix(in srgb,var(--muted) 20%,var(--border));font-size:12px;text-decoration:none}
.language-switcher a[aria-current]{color:var(--cyan);font-weight:700}
.header-search{position:relative}
.header-search summary{list-style:none}
.header-search summary::-webkit-details-marker{display:none}
.header-search .search-form{position:absolute;right:0;top:52px;width:330px;padding:8px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow)}
.menu-toggle{display:none;width:44px;height:44px;border:1px solid color-mix(in srgb,var(--surface) 18.82%,transparent);background:none;color:#fff;border-radius:8px;padding:10px}
.menu-toggle>span:not(.screen-reader-text){display:block;width:22px;height:2px;background:currentColor;margin:4px 0}
.hero{position:relative;isolation:isolate;background:var(--navy);color:white;overflow:hidden;padding:76px 0 68px}
.hero:before{content:'';position:absolute;z-index:-1;width:800px;height:800px;right:-130px;top:-270px;background:radial-gradient(ellipse,color-mix(in srgb,color-mix(in srgb,var(--blue) 62%,var(--ink)) 30.20%,transparent) 0,transparent 65%);pointer-events:none}
.hero-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:64px;align-items:center}
.eyebrow{display:block;text-transform:uppercase;font-size:11px;letter-spacing:2px;font-weight:600;color:var(--blue);margin-bottom:18px}
.hero .eyebrow{color:var(--cyan);display:flex;gap:10px;align-items:center}
.hero .eyebrow:before{content:'';width:24px;height:1px;background:var(--cyan)}
.hero h1{font-size:clamp(38px,4.7vw,62px);letter-spacing:-2.6px;line-height:1.24;margin:0 0 24px;font-weight:700}
.hero mark{color:var(--cyan);background:none}
.hero-description{color:color-mix(in srgb,var(--muted) 22%,var(--border));font-size:16px;max-width:520px;line-height:1.9}
.hero .wp-block-buttons{margin-top:32px;gap:12px;display:flex;flex-wrap:wrap}
.hero-notes{display:flex;gap:22px;flex-wrap:wrap;margin-top:30px;color:color-mix(in srgb,var(--muted) 32%,var(--border));font-size:11px}
.hero-notes span:before{content:'✓';color:var(--cyan);margin-right:6px}
.wp-block-button__link,.button,button.button,input.button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 22px;border:1px solid transparent;border-radius:8px;background:var(--blue);color:white;line-height:1.5;font-size:14px;font-weight:600;text-decoration:none;cursor:pointer;box-shadow:none}
.wp-block-button__link:hover,.button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover{background:color-mix(in srgb,var(--navy) 21%,var(--blue));color:#fff}
.wp-block-button.is-style-outline .wp-block-button__link,.button.outline{border:1px solid var(--border);background:transparent;color:var(--ink)}
.hero .is-style-outline .wp-block-button__link{color:#fff;border-color:color-mix(in srgb,var(--surface) 27.06%,transparent)}
.hero .is-style-outline .wp-block-button__link:hover{background:color-mix(in srgb,var(--surface) 7.06%,transparent)}
.wp-block-button.is-style-cyan .wp-block-button__link,.button.cyan{background:var(--cyan);color:var(--navy)}
.wp-block-button.is-style-cyan .wp-block-button__link:hover{background:color-mix(in srgb,var(--cyan) 80%,var(--surface))}
.button:disabled,button:disabled{opacity:.55;cursor:not-allowed}
.wp-block-buttons{display:flex;gap:12px;flex-wrap:wrap}
.wp-block-button{display:inline-block}
.wp-block-button__link{box-sizing:border-box}
.ecosystem{position:relative;min-height:378px;border:1px solid color-mix(in srgb,color-mix(in srgb,var(--blue) 44%,var(--border)) 16.86%,transparent);border-radius:20px;background:linear-gradient(135deg,color-mix(in srgb,color-mix(in srgb,var(--blue) 22%,var(--ink)) 53.33%,transparent),color-mix(in srgb,color-mix(in srgb,var(--navy) 92%,var(--blue)) 53.33%,transparent));padding:24px;box-shadow:0 28px 60px #0000001c}
.ecosystem-label{display:flex;justify-content:space-between;color:color-mix(in srgb,var(--muted) 47%,var(--border));font-size:9px;letter-spacing:1.8px;text-transform:uppercase}
.ecosystem-label span:last-child{color:color-mix(in srgb,var(--cyan) 43%,var(--border))}
.ecosystem-center{display:flex;align-items:center;justify-content:center;position:relative;margin:28px auto;width:134px;height:134px}
.ecosystem-center:before{content:'';position:absolute;inset:-14px;border:1px solid color-mix(in srgb,var(--cyan) 18.04%,transparent);border-radius:50%}
.ecosystem-center:after{content:'';position:absolute;inset:-28px;border:1px dashed color-mix(in srgb,color-mix(in srgb,var(--blue) 42%,var(--surface)) 10.98%,transparent);border-radius:50%}
.ecosystem-center img{width:126px;height:126px;object-fit:contain;border-radius:12px}
.ecosystem-nodes{display:grid;grid-template-columns:repeat(var(--service-count,4),minmax(0,1fr));gap:8px;margin-top:36px;position:relative}
.ecosystem-nodes:before{content:'';position:absolute;left:12%;right:12%;top:-15px;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--cyan) 40.39%,transparent),transparent)}
.ecosystem-node{display:flex;flex-direction:column;min-width:0;padding:16px 6px 12px;background:color-mix(in srgb,color-mix(in srgb,var(--navy) 96%,var(--cyan)) 90.98%,transparent);border:1px solid color-mix(in srgb,color-mix(in srgb,var(--blue) 47%,var(--surface)) 14.12%,transparent);border-radius:10px;text-align:center;font-size:10px;color:color-mix(in srgb,var(--muted) 28%,var(--border));position:relative;text-decoration:none;overflow-wrap:anywhere;cursor:pointer}
.ecosystem-node:hover{background:color-mix(in srgb,var(--blue) 14%,var(--ink));border-color:color-mix(in srgb,var(--cyan) 50.20%,transparent);color:color-mix(in srgb,var(--cyan) 8%,var(--page))}
.ecosystem-node:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}
.ecosystem-node:before{content:'';position:absolute;top:-15px;left:50%;height:14px;width:1px;background:color-mix(in srgb,var(--cyan) 27.06%,transparent)}
.ecosystem-node b{display:block;font-size:14px;color:color-mix(in srgb,var(--cyan) 8%,var(--page));font-weight:500;margin-bottom:4px}
.ecosystem-node span{display:block;margin-top:auto}
.ecosystem-caption{text-align:center;font-size:10px;letter-spacing:.5px;color:color-mix(in srgb,var(--muted) 49%,var(--border));margin-top:20px;margin-bottom:0}
.trust-strip{background:color-mix(in srgb,var(--blue) 2%,var(--page));border-bottom:1px solid var(--border)}
.trust-strip .section-inner{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;padding-block:28px}
.trust-strip p{position:relative;min-width:0;margin:0;padding:22px;border:1px solid color-mix(in srgb,var(--cyan) 21%,var(--ink));border-radius:var(--radius);background:linear-gradient(135deg,color-mix(in srgb,var(--blue) 10%,var(--ink)),var(--navy));box-shadow:0 7px 18px color-mix(in srgb,var(--navy) 7.06%,transparent);font-size:16px;line-height:1.6;font-weight:500;color:color-mix(in srgb,var(--blue) 5%,var(--surface))}
.trust-strip p::before{content:"";display:block;width:64px;height:64px;margin-bottom:16px;border:1px solid color-mix(in srgb,var(--cyan) 20.00%,transparent);border-radius:16px;background:var(--step-icon) center/48px 48px no-repeat,linear-gradient(135deg,color-mix(in srgb,var(--blue) 14.90%,transparent),color-mix(in srgb,var(--cyan) 5.10%,transparent))}
.trust-strip p:nth-child(1){--step-icon:var(--media-process-1,url("../icons/process-select.svg"))}
.trust-strip p:nth-child(2){--step-icon:var(--media-process-2,url("../icons/process-payment.svg"))}
.trust-strip p:nth-child(3){--step-icon:var(--media-process-3,url("../icons/process-handover.svg"))}
.trust-strip p:nth-child(4){--step-icon:var(--media-process-4,url("../icons/process-start.svg"))}
.trust-strip p:not(:last-child)::after{content:"";position:absolute;right:-23px;top:50%;width:16px;height:10px;background:#6686ab;clip-path:polygon(0 43%,65% 43%,65% 0,100% 50%,65% 100%,65% 57%,0 57%);transform:translateY(-50%)}
.trust-strip strong{position:absolute;top:18px;right:18px;margin:0;color:color-mix(in srgb,var(--blue) 30%,var(--border));font-size:12px;font-weight:600;line-height:1.5;letter-spacing:.08em;font-variant-numeric:tabular-nums}
.section{padding-block:72px}
.section-white{background:var(--surface)}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:32px}
.section-head h2{margin-bottom:12px}
.section-head p{color:var(--muted);font-size:14px;max-width:580px;margin-bottom:0}
.section-head .eyebrow{margin-bottom:12px}
.section-head .text-link{margin-bottom:6px;white-space:nowrap}
.text-link{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;text-decoration:none;min-height:44px}
.text-link svg{width:18px;height:18px}
.category-grid{display:grid;grid-template-columns:repeat(var(--category-columns,3),minmax(0,1fr));gap:16px;margin-bottom:28px}
.category-card{display:flex;align-items:center;gap:16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;text-decoration:none;color:var(--ink);box-shadow:var(--shadow)}
.category-card:hover{border-color:var(--blue);color:var(--blue)}
.category-card>svg{margin-left:auto;width:18px}
.category-card strong{display:block;font-size:16px}
.category-card small{color:var(--muted);font-size:11px}
.category-icon,.empty-icon{display:inline-flex;justify-content:center;align-items:center;width:48px;height:48px;color:var(--blue);background:color-mix(in srgb,var(--blue) 7%,var(--surface));border-radius:10px;flex-shrink:0}
.empty-state{border:1px dashed color-mix(in srgb,var(--muted) 11%,var(--border));background:color-mix(in srgb,var(--surface) 65.88%,transparent);border-radius:var(--radius);padding:40px;text-align:center}
.empty-state h3{font-size:20px;margin:16px 0 12px}
.empty-state p{font-size:14px;color:var(--muted);max-width:550px;margin:0 auto 22px}
.empty-state.compact{display:flex;align-items:center;text-align:left;gap:20px;padding:25px 28px}
.empty-state.compact h3{font-size:16px;margin:0 0 6px}
.empty-state.compact p{margin:0;max-width:none;font-size:13px}
.catalog-empty{padding-block:42px;background:linear-gradient(135deg,var(--surface),color-mix(in srgb,var(--blue) 4%,var(--surface)))}
.services-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.service-card{border:1px solid var(--border);border-radius:var(--radius);padding:30px;background:var(--surface);position:relative;overflow:hidden}
.service-card .service-number{font-size:11px;letter-spacing:1px;color:#6b7b94;position:absolute;top:28px;right:28px}
.service-mark{display:grid;place-items:center;height:46px;width:46px;background:color-mix(in srgb,var(--blue) 8%,var(--surface));color:var(--blue);border-radius:10px;font-family:ui-monospace,monospace;font-weight:600;font-size:18px;margin-bottom:26px}
.service-card:nth-child(2) .service-mark{background:color-mix(in srgb,var(--cyan) 10%,var(--surface));color:color-mix(in srgb,var(--navy) 52%,var(--cyan))}
.service-card:nth-child(3) .service-mark{background:color-mix(in srgb,var(--blue) 8%,var(--surface));color:color-mix(in srgb,var(--blue) 42%,var(--muted))}
.service-card:nth-child(4) .service-mark{background:#edf8f3;color:#24735b}
.service-card h3{font-size:24px;margin-bottom:12px}
.service-card p{color:var(--muted);font-size:14px;max-width:430px;margin-bottom:20px}
.service-card .service-label{display:block;color:var(--muted);font-size:10px;letter-spacing:1.5px;margin-bottom:8px;text-transform:uppercase}
.service-card:hover{border-color:color-mix(in srgb,var(--muted) 29%,var(--border));box-shadow:var(--shadow)}
.process-section{background:var(--navy);color:white}
.process-section .eyebrow{color:var(--cyan)}
.process-section .section-head p{color:color-mix(in srgb,var(--muted) 29%,var(--border))}
.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:44px;padding-top:12px}
.process-step{border-top:1px solid color-mix(in srgb,var(--surface) 13.73%,transparent);padding-top:24px}
.process-number{font-size:12px;letter-spacing:2px;color:var(--cyan);display:block;margin-bottom:20px}
.process-step h3{font-size:19px;margin-bottom:12px}
.process-step p{color:color-mix(in srgb,var(--muted) 29%,var(--border));font-size:13px;line-height:1.9;margin:0}
.article-grid{display:grid;grid-template-columns:repeat(var(--guide-columns,3),minmax(0,1fr));gap:24px}
.article-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}
.article-image{display:block;aspect-ratio:16/9;background:color-mix(in srgb,var(--blue) 6%,var(--page));overflow:hidden}
.article-image img{width:100%;height:100%;object-fit:cover}
.article-symbol{height:150px;background:linear-gradient(135deg,color-mix(in srgb,var(--blue) 9%,var(--surface)),color-mix(in srgb,var(--cyan) 5%,var(--page)));display:flex;justify-content:space-between;align-items:end;padding:24px;color:var(--blue)}
.article-symbol svg{width:42px;height:42px;stroke-width:1}
.article-symbol span{font-family:ui-monospace,monospace;font-size:9px;letter-spacing:1px}
.article-body{padding:24px}
.article-body h2,.article-body h3{font-size:19px;line-height:1.55;margin:10px 0 14px;letter-spacing:-.4px}
.article-body h2 a,.article-body h3 a{text-decoration:none;color:var(--ink)}
.article-body h2 a:hover,.article-body h3 a:hover{color:var(--blue)}
.article-body p{font-size:13px;color:var(--muted);line-height:1.8}
.article-date{font-size:11px;color:var(--muted)}
.consult-banner{background:linear-gradient(110deg,color-mix(in srgb,var(--blue) 9%,var(--surface)),color-mix(in srgb,var(--cyan) 5%,var(--page)));border:1px solid color-mix(in srgb,var(--blue) 13%,var(--page));border-radius:16px;padding:46px 50px;display:flex;align-items:center;justify-content:space-between;gap:36px}
.consult-banner h2{font-size:30px;margin-bottom:12px}
.consult-banner p{color:var(--muted);font-size:14px;margin:0;max-width:600px}
.consult-banner .wp-block-buttons{flex-shrink:0}
.site-footer{background:var(--navy);color:color-mix(in srgb,var(--muted) 29%,var(--border));padding-top:58px}
.footer-grid{display:grid;grid-template-columns:1.2fr .9fr 1fr;gap:80px;padding-bottom:44px}
.footer-wordmark{text-decoration:none;font-size:30px;font-weight:700;color:white;letter-spacing:-1px}
.footer-wordmark:hover{color:white}
.footer-brand p{font-size:12px;max-width:285px;margin-top:17px;line-height:1.9}
.site-footer h2{font-size:14px;color:#fff;letter-spacing:0;margin:10px 0 17px}
.site-footer .primary-menu,.footer-menu{display:block}
.site-footer .primary-menu a,.footer-menu a{display:inline-flex;align-items:center;min-height:38px;color:color-mix(in srgb,var(--muted) 29%,var(--border));font-size:12px;padding:5px 0;text-decoration:none}
.site-footer .text-link{color:var(--cyan);font-size:12px}
.footer-grid>div>p{font-size:12px;line-height:1.9}
.footer-bottom{border-top:1px solid color-mix(in srgb,var(--surface) 10.20%,transparent);display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:22px;font-size:10px;color:color-mix(in srgb,var(--muted) 48%,var(--border))}
.footer-bottom>div{display:flex;gap:22px}
.footer-bottom a{color:color-mix(in srgb,var(--muted) 48%,var(--border));text-decoration:none;min-height:32px;display:inline-flex;align-items:center}
.page-main,.archive-main,.single-main,.commerce-main{padding-top:54px;padding-bottom:80px;min-height:60vh}
.page-heading{margin-bottom:40px}
.page-heading h1{margin-bottom:20px;max-width:960px}
.page-heading .eyebrow{margin-bottom:14px}
.page-heading time{font-size:13px;color:var(--muted)}
.entry-content>p,.entry-content>ul,.entry-content>ol{max-width:780px}
.entry-content>h2{margin-top:48px}
.entry-content .wp-block-columns{display:flex;gap:40px;align-items:flex-start}
.entry-content .wp-block-column{min-width:0;flex:1}
.entry-content .service-intro{font-size:20px;line-height:1.8;color:var(--muted);max-width:860px;margin-bottom:36px}
.entry-content .service-detail{padding:34px;background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-block:32px}
.service-detail h2{font-size:26px}
.service-detail p,.service-detail li{font-size:15px;color:var(--muted)}
.service-detail .wp-block-buttons{margin-top:24px}
.system-note{font-size:13px;background:color-mix(in srgb,var(--blue) 7%,var(--surface));border-left:3px solid var(--blue);padding:16px 20px;color:var(--muted);margin-top:24px}
.single-main article{max-width:780px;margin-inline:auto}
.single-main h1{font-size:clamp(32px,4vw,48px)}
.single-featured-image{border-radius:12px;margin-bottom:36px}
.prose{font-size:17px;line-height:1.9}
.prose h2{font-size:30px;margin-top:42px}
.prose h3{font-size:23px;margin-top:30px}
.prose pre,.wp-block-code{background:var(--navy);color:color-mix(in srgb,var(--cyan) 12%,var(--page));padding:24px;overflow:auto;border-radius:8px;font-size:14px;line-height:1.7}
.prose blockquote{margin:30px 0;border-left:3px solid var(--blue);padding:12px 24px;color:var(--muted);background:color-mix(in srgb,var(--blue) 7%,var(--surface))}
.prose table{width:100%;border-collapse:collapse}
.prose td,.prose th{border:1px solid var(--border);padding:12px;text-align:left}
.post-navigation{display:flex;justify-content:space-between;gap:32px;border-top:1px solid var(--border);padding-top:28px;margin:50px auto 0;max-width:780px;font-size:14px}
.not-found{padding:90px 0;max-width:650px;margin:auto;text-align:center}
.not-found .eyebrow{font-size:30px}
.not-found p{color:var(--muted)}
.not-found .search-form{margin:32px auto 0}
.search-form{display:flex;max-width:520px;width:100%;position:relative;border-radius:8px;gap:8px}
.search-form input[type=search]{flex:1;min-width:0}
.search-form button{display:grid;place-items:center;width:48px;border:0;border-radius:6px;background:var(--blue);color:white}
.page-heading .search-form{margin-top:30px}
input[type=text],input[type=email],input[type=password],input[type=tel],input[type=number],input[type=url],input[type=search],textarea,select{background:var(--surface);border:1px solid color-mix(in srgb,var(--muted) 22%,var(--border));border-radius:6px;min-height:46px;padding:10px 13px;color:var(--ink);max-width:100%}
textarea{min-height:140px;resize:vertical}
label{font-weight:500;font-size:14px}
input[type=checkbox],input[type=radio]{accent-color:var(--blue);width:18px;height:18px;vertical-align:middle;margin-right:8px}
fieldset{border:1px solid var(--border);border-radius:10px;padding:24px}
legend{font-weight:600;padding:0 8px}
.vnaipro-contact form,.vnaipro-form{padding:32px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);max-width:820px}
.vnaipro-contact form label,.vnaipro-form label{display:block;margin-bottom:7px}
.vnaipro-contact form input:not([type=checkbox]):not([type=radio]),.vnaipro-contact form textarea,.vnaipro-contact form select,.vnaipro-form input:not([type=checkbox]):not([type=radio]),.vnaipro-form textarea,.vnaipro-form select{width:100%}
.vnaipro-contact form>p,.vnaipro-form>p{margin-bottom:22px}
.vnaipro-contact form button,.vnaipro-form button{border:0;border-radius:8px;min-height:48px;padding:12px 24px;background:var(--blue);color:white;font-weight:600}
.vnaipro-notice{border-left:4px solid var(--blue);padding:20px;background:color-mix(in srgb,var(--blue) 8%,var(--surface));margin-block:24px}
.vnaipro-notice.error{border-color:#bc3341;background:#fff0f1}
.vnaipro-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.woocommerce-breadcrumb{font-size:12px;color:var(--muted);margin-bottom:28px}
.woocommerce-breadcrumb a{color:var(--muted)}
.woocommerce-products-header h1{font-size:42px;margin-bottom:30px}
.woocommerce-products-header .term-description{max-width:780px;color:var(--muted)}
.woocommerce-result-count{float:left;font-size:13px;padding-top:12px;color:var(--muted)}
.woocommerce-ordering{float:right;margin-bottom:24px}
.woocommerce-ordering select{font-size:13px;background:white}
.woocommerce ul.products{list-style:none;display:grid;grid-template-columns:repeat(var(--shop-columns,3),minmax(0,1fr));gap:24px;margin:0;padding:0;clear:both}
.woocommerce ul.products:before,.woocommerce ul.products:after{display:none}
.woocommerce ul.products li.product{position:relative;margin:0!important;float:none!important;width:auto!important;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow);display:flex;flex-direction:column}
.woocommerce ul.products li.product:hover{border-color:color-mix(in srgb,var(--blue) 21%,var(--border))}
.woocommerce ul.products li.product>a.woocommerce-loop-product__link{text-decoration:none;display:block;color:var(--ink)}
.woocommerce ul.products li.product a img{width:100%;aspect-ratio:1.6;object-fit:contain;border-radius:8px;background:color-mix(in srgb,var(--page) 94%,var(--surface));margin-bottom:20px}
.woocommerce ul.products .woocommerce-loop-product__title{font-size:19px;line-height:1.5;margin-bottom:12px;letter-spacing:-.5px}
.woocommerce ul.products .price{font-size:22px;font-weight:700;color:var(--blue);display:block}
.woocommerce .price del{font-size:.7em;color:var(--muted);font-weight:400}
.woocommerce .price ins{text-decoration:none}
.woocommerce ul.products .button{margin-top:auto;width:100%}
.woocommerce ul.products .product-excerpt{color:var(--muted);font-size:13px;margin-block:12px 24px;line-height:1.8}
.woocommerce ul.products .added_to_cart{display:inline-block;font-size:12px;text-align:center;padding-top:12px}
.home-main .section-head > p{margin-block:0}
.home-main .section-head > p .text-link{margin:0}
@media(max-width:600px){.home-main .section-head > p{margin-top:12px}}
.featured-carousel{min-width:0}
.featured-carousel .woocommerce ul.products{position:relative;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - (var(--featured-columns,4) - 1)*24px)/var(--featured-columns,4));gap:24px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-inline:4px;scroll-behavior:auto;overscroll-behavior-x:contain;padding:8px 4px 14px;margin:0 -4px;scrollbar-width:thin;scrollbar-color:var(--blue) var(--border)}
.featured-carousel .woocommerce ul.products li.product{scroll-snap-align:start;min-width:0}
.featured-carousel .woocommerce ul.products:focus-visible{outline:3px solid var(--blue);outline-offset:4px;border-radius:12px}
.featured-carousel.is-enhanced .woocommerce ul.products{scrollbar-width:none}
.featured-carousel.is-enhanced .woocommerce ul.products::-webkit-scrollbar{display:none}
.featured-carousel.is-dragging .woocommerce ul.products{scroll-snap-type:none;user-select:none;scroll-behavior:auto}
.featured-carousel.is-dragging .woocommerce ul.products *{user-select:none;cursor:grabbing!important}
.featured-carousel.is-enhanced img{-webkit-user-drag:none}
.featured-carousel-footer{display:flex;align-items:center;gap:24px;margin-top:12px;min-height:44px}
.featured-carousel-footer[hidden]{display:none}
.featured-carousel-hint{display:inline-flex;align-items:center;gap:10px;color:var(--muted);font-size:13px;min-width:0;white-space:normal;overflow-wrap:anywhere}
.featured-carousel-hint:before{content:'↔';font-size:22px;color:var(--blue);line-height:1}
.featured-carousel-footer [data-carousel-status]{margin-inline-start:auto;color:var(--muted);font-size:13px;white-space:nowrap;min-width:64px;text-align:right;font-variant-numeric:tabular-nums}
.featured-carousel-footer [data-carousel-progress]{--carousel-progress:0%;appearance:none;-webkit-appearance:none;flex:1;min-width:80px;max-width:640px;height:44px;margin:0;padding:0;background:transparent;cursor:ew-resize;border:0;box-shadow:none;accent-color:var(--blue)}
.featured-carousel-footer [data-carousel-progress]::-webkit-slider-runnable-track{height:4px;border-radius:99px;background:linear-gradient(90deg,var(--blue) var(--carousel-progress),var(--border) var(--carousel-progress))}
.featured-carousel-footer [data-carousel-progress]::-webkit-slider-thumb{-webkit-appearance:none;width:28px;height:10px;border-radius:99px;background:var(--blue);margin-top:-3px;border:0;box-shadow:0 0 0 4px color-mix(in srgb,var(--blue) 3.92%,transparent)}
.featured-carousel-footer [data-carousel-progress]::-moz-range-track{height:4px;border-radius:99px;background:var(--border)}
.featured-carousel-footer [data-carousel-progress]::-moz-range-progress{height:4px;border-radius:99px;background:var(--blue)}
.featured-carousel-footer [data-carousel-progress]::-moz-range-thumb{width:28px;height:10px;border-radius:99px;background:var(--blue);border:0}
.featured-carousel-footer [data-carousel-progress]:focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:8px}
@media(hover:hover){.featured-carousel.is-enhanced .woocommerce ul.products,.featured-carousel.is-enhanced .woocommerce-loop-product__link{cursor:grab}}
@media(max-width:1000px){.featured-carousel .woocommerce ul.products{grid-auto-columns:calc((100% - (min(var(--featured-columns,4),2) - 1)*16px)/min(var(--featured-columns,4),2));gap:16px}}
@media(max-width:600px){.featured-carousel .woocommerce ul.products{grid-auto-columns:100%}
.featured-carousel-footer{gap:0 16px;flex-wrap:wrap}
.featured-carousel-hint{font-size:12px;flex-basis:100%}
.featured-carousel-footer [data-carousel-progress]{max-width:none;min-width:100px}
.featured-carousel-footer [data-carousel-status]{min-width:40px;font-size:12px}}
.woocommerce .onsale{display:inline-flex;align-items:center;padding:4px 10px;border-radius:4px;font-size:11px;background:#e7f9ef;color:#216344;font-weight:600;position:absolute;top:34px;left:34px;z-index:1}
.woocommerce nav.woocommerce-pagination ul{list-style:none;display:flex;justify-content:center;gap:8px;margin-top:40px;padding:0}
.woocommerce nav.woocommerce-pagination a,.woocommerce nav.woocommerce-pagination span{display:grid;place-items:center;min-width:44px;height:44px;border:1px solid var(--border);border-radius:6px;background:var(--surface);text-decoration:none}
.woocommerce nav.woocommerce-pagination .current{background:var(--blue);color:white;border-color:var(--blue)}
.woocommerce div.product{position:relative}
.woocommerce div.product div.images{width:43%;float:left;margin-bottom:40px}
.woocommerce div.product div.images img{width:100%;border-radius:12px;background:var(--surface)}
.woocommerce div.product div.summary{width:51%;float:right;margin-bottom:40px}
.woocommerce div.product .product_title{font-size:36px;line-height:1.35;margin-bottom:20px}
.woocommerce div.product .summary>.price{font-size:30px;font-weight:700;color:var(--blue);margin:20px 0}
.woocommerce-product-details__short-description{color:var(--muted);font-size:15px}
.woocommerce div.product form.cart{display:flex;align-items:center;gap:12px;margin-block:26px}
.woocommerce .quantity .qty{width:76px;text-align:center}
.woocommerce .product_meta{font-size:12px;color:var(--muted);border-top:1px solid var(--border);padding-top:20px}
.woocommerce .product_meta>span{display:block}
.woocommerce .stock{font-size:13px;color:#267046}
.woocommerce .out-of-stock{color:#9b3541}
.woocommerce-tabs{clear:both;padding-top:20px}
.woocommerce-tabs ul.tabs{list-style:none;display:flex;gap:24px;border-bottom:1px solid var(--border);padding:0;margin-bottom:30px}
.woocommerce-tabs ul.tabs li a{display:block;padding:16px 0;color:var(--muted);text-decoration:none;font-size:14px}
.woocommerce-tabs ul.tabs li.active a{color:var(--blue);box-shadow:0 2px 0 var(--blue)}
.woocommerce-tabs .panel{background:white;border:1px solid var(--border);border-radius:12px;padding:32px}
.woocommerce-tabs .panel h2{font-size:26px}
.woocommerce .related{clear:both;padding-top:50px}
.woocommerce .related>h2{font-size:28px}
.woocommerce .woocommerce-review-link{font-size:12px}
.woocommerce-product-gallery__trigger{position:absolute;top:14px;right:14px;z-index:1}
.woocommerce-product-gallery{position:relative}
.woocommerce-product-gallery .flex-control-thumbs{list-style:none;display:flex;gap:12px;padding:0;margin:12px 0}
.woocommerce-product-gallery .flex-control-thumbs li{width:80px;cursor:pointer}
.woocommerce-message,.woocommerce-info,.woocommerce-error{padding:18px 22px;background:#edf4ff;border:1px solid #c7dbf7;border-left:4px solid var(--blue);border-radius:6px;margin:0 0 26px;list-style:none;font-size:14px;line-height:1.8;clear:both}
.woocommerce-message .button,.woocommerce-info .button{float:right;margin-left:18px;min-height:38px;font-size:12px;padding:8px 14px}
.woocommerce-error{background:#fff1f2;border-color:#f0c9cf;border-left-color:#ad263c}
.woocommerce-error a{color:#982236}
.woocommerce form .form-row{margin:0 0 20px;display:block}
.woocommerce form .form-row label{display:block;margin-bottom:8px}
.woocommerce form .form-row .input-text,.woocommerce form .form-row select{width:100%}
.woocommerce form .form-row-first{width:48%;float:left}
.woocommerce form .form-row-last{width:48%;float:right}
.woocommerce form .form-row-wide{clear:both}
.woocommerce .required{color:#b52f3f}
.woocommerce form .woocommerce-invalid input{border-color:#b52f3f}
.woocommerce form .form-row .description{font-size:12px;color:var(--muted)}
.woocommerce form.login,.woocommerce form.register,.woocommerce-EditAccountForm,.woocommerce-address-fields{padding:30px;background:var(--surface);border:1px solid var(--border);border-radius:12px}
.woocommerce .col2-set{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px}
.woocommerce .col2-set h2,.woocommerce .col2-set h3{font-size:24px}
.woocommerce table.shop_table{width:100%;border-collapse:separate;border-spacing:0;background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden;margin-bottom:30px;font-size:14px}
.woocommerce table.shop_table th{background:color-mix(in srgb,var(--page) 85%,var(--border));font-weight:600;text-align:left;padding:16px}
.woocommerce table.shop_table td{padding:18px 16px;border-top:1px solid var(--border)}
.woocommerce table.shop_table td.product-thumbnail{width:100px}
.woocommerce table.shop_table td.product-thumbnail img{width:64px;height:64px;object-fit:contain}
.woocommerce table.shop_table a{text-decoration:none}
.woocommerce .product-remove a{font-size:24px;color:#9f3544;display:grid;place-items:center;width:44px;height:44px}
.woocommerce .coupon{display:flex;gap:12px;float:left;flex-wrap:wrap}
.woocommerce .coupon label{position:absolute;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden}
.woocommerce .coupon input{max-width:180px}
.woocommerce td.actions>button{float:right}
.woocommerce .cart-collaterals{display:flex;justify-content:end}
.woocommerce .cart_totals{width:min(100%,500px)}
.woocommerce .cart_totals h2{font-size:26px}
.woocommerce .checkout-button{width:100%}
.woocommerce-checkout .col2-set{display:block}
.woocommerce-checkout .col2-set .col-2{margin-top:30px}
.woocommerce-checkout #customer_details{float:left;width:55%;padding:28px;background:var(--surface);border:1px solid var(--border);border-radius:12px}
.woocommerce-checkout #order_review_heading,.woocommerce-checkout #order_review{float:right;width:41%}
.woocommerce-checkout #order_review_heading{font-size:24px}
.woocommerce-checkout:after{content:'';display:table;clear:both}
.woocommerce-checkout #payment{padding:24px;background:var(--surface);border:1px solid var(--border);border-radius:12px}
.woocommerce-checkout .wc_payment_methods{list-style:none;margin:0 0 20px;padding:0}
.woocommerce-checkout .wc_payment_methods li{padding-block:14px}
.woocommerce-checkout .wc_payment_methods label{font-weight:600}
.woocommerce-checkout .payment_box{background:color-mix(in srgb,var(--blue) 1%,var(--page));padding:16px;font-size:13px;margin-top:12px;border-radius:6px}
.woocommerce-checkout #place_order{width:100%;margin-top:18px}
.woocommerce-privacy-policy-text,.woocommerce-terms-and-conditions-wrapper{font-size:12px;color:var(--muted)}
.woocommerce-order ul.order_details{list-style:none;display:flex;gap:30px;padding:24px;background:white;border:1px solid var(--border);border-radius:10px;flex-wrap:wrap;font-size:13px}
.woocommerce-order ul.order_details strong{display:block;font-size:17px}
.woocommerce-order-details h2,.woocommerce-customer-details h2{font-size:26px}
.woocommerce address{font-style:normal;background:white;border:1px solid var(--border);padding:24px;border-radius:10px}
.woocommerce-MyAccount-navigation{width:24%;float:left;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px}
.woocommerce-MyAccount-navigation ul{list-style:none;padding:0;margin:0}
.woocommerce-MyAccount-navigation a{display:block;padding:13px 16px;text-decoration:none;font-size:14px;color:var(--muted);border-radius:7px}
.woocommerce-MyAccount-navigation .is-active a{color:var(--blue);background:color-mix(in srgb,var(--blue) 7%,var(--surface));font-weight:600}
.woocommerce-MyAccount-content{width:72%;float:right}
.woocommerce:after{content:'';display:table;clear:both}
.woocommerce-MyAccount-content h2{font-size:26px}
.woocommerce-MyAccount-content h3{font-size:21px}
.woocommerce-MyAccount-content .button{font-size:12px;min-height:40px;padding:8px 14px}
.woocommerce .lost_password{margin-top:20px;font-size:13px}
.woocommerce .select2-container .select2-selection--single{height:46px;border-color:color-mix(in srgb,var(--muted) 22%,var(--border));border-radius:6px}
.woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered{line-height:44px;padding-left:13px}
.woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow{height:44px}
.woocommerce .blockUI.blockOverlay{background:var(--surface)!important;opacity:.7!important}
.woocommerce .woocommerce-form-login__rememberme{margin-left:12px}
.woocommerce #review_form #respond textarea{width:100%}
.woocommerce #reviews #comments ol.commentlist{list-style:none;padding:0}
.woocommerce #reviews .comment_container{padding:24px;background:color-mix(in srgb,var(--surface) 77%,var(--border));border-radius:8px;margin-bottom:20px}
.woocommerce #reviews .avatar{float:left;margin-right:14px;width:40px;border-radius:50%}
.woocommerce #reviews .meta{font-size:13px}
.woocommerce .star-rating{display:inline-block;font-size:13px;color:#875f08}
.woocommerce #respond input#submit{background:var(--blue);color:white;border:0;border-radius:6px;padding:12px 24px;cursor:pointer}
@media(min-width:1440px){.hero{padding-block:88px}
.hero-layout{gap:90px}
.ecosystem{min-height:395px}
}
@media(max-width:1150px){.header-inner{gap:18px}
.primary-menu{gap:18px}
.brand-copy small{display:none}
.primary-menu a{font-size:14px}
.header-actions{gap:0}
.site-brand img{width:48px;height:48px}
.brand-copy strong{font-size:21px}
.hero-layout{gap:32px}
.hero h1{font-size:48px}
.footer-grid{gap:44px}
.header-actions .icon-button{width:36px}
.hero-notes{gap:14px}
.hero-notes span{font-size:10px}
}
@media(max-width:1000px){.header-inner{min-height:80px;gap:16px}
.menu-toggle{display:block;order:3;flex-shrink:0}
.header-actions{margin-left:auto}
.primary-navigation{display:none;position:absolute;left:0;right:0;top:100%;background:var(--navy);border-top:1px solid color-mix(in srgb,var(--surface) 12.55%,transparent);border-bottom:1px solid color-mix(in srgb,var(--surface) 18.82%,transparent);padding:14px var(--space) 22px;box-shadow:0 24px 30px #0000001a}
.primary-navigation.is-open{display:block}
.primary-menu{display:block}
.primary-menu a{font-size:15px;padding:12px 0;min-height:44px}
.primary-menu .sub-menu{position:static;display:block;box-shadow:none;border:0;padding:0 0 0 20px}
.hero{padding-block:58px}
.hero-layout{grid-template-columns:1.1fr 1fr;gap:28px}
.hero h1{font-size:42px;letter-spacing:-1.7px}
.hero-description{font-size:14px}
.ecosystem{padding:18px;min-height:340px}
.ecosystem-node b{font-size:11px}
.ecosystem-node{font-size:8px}
.ecosystem-label{font-size:7px}
.ecosystem-center{margin-top:30px}
.hero-notes{gap:10px;font-size:10px}
.trust-strip .section-inner{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.trust-strip p::after{display:none}
.section{padding-block:58px}
.article-grid,.woocommerce ul.products{gap:16px}
.article-body,.woocommerce ul.products li.product{padding:20px}
.category-grid{gap:12px}
.category-card{padding:16px;gap:10px}
.category-card strong{font-size:14px}
.category-card>svg{display:none}
.consult-banner{padding:36px}
.consult-banner h2{font-size:26px}
.footer-grid{gap:32px}
.woocommerce div.product .product_title{font-size:30px}
.woocommerce-checkout #customer_details{padding:22px}
.woocommerce table.shop_table{font-size:12px}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{padding:13px 10px}
.woocommerce .coupon{max-width:60%}
}
@media(max-width:767px){.hero{padding-top:46px;padding-bottom:40px}
.hero-layout{display:block}
.hero h1{font-size:43px;max-width:570px}
.hero-description{font-size:15px;max-width:590px}
.hero .wp-block-buttons{margin-top:26px}
.hero-notes{margin-top:26px;font-size:11px}
.hero-notes span{font-size:11px}
.ecosystem{margin-top:42px;min-height:330px;max-width:500px;margin-inline:auto}
.ecosystem-nodes{margin-top:30px}
.ecosystem-node b{font-size:14px}
.ecosystem-node{font-size:10px}
.ecosystem-label{font-size:9px}
.ecosystem-center{margin-block:22px}
.trust-strip .section-inner{padding-block:22px}
.trust-strip p{padding:20px}
.section{padding-block:44px}
.section-head{gap:12px;margin-bottom:26px;display:block}
.section-head h2{font-size:28px}
.section-head .text-link{margin-top:12px}
.section-head p{font-size:13px}
.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.category-card{padding:16px}
.category-card small{font-size:10px}
.category-icon{width:38px;height:38px}
.category-card strong{font-size:13px}
.services-grid{gap:16px}
.service-card{padding:24px}
.service-card h3{font-size:21px}
.service-card p{font-size:13px}
.service-mark{margin-bottom:22px}
.service-card .service-number{right:22px;top:22px}
.process-grid{gap:24px}
.process-step h3{font-size:16px}
.process-step p{font-size:12px}
.article-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.article-card:last-child:nth-child(3){grid-column:1/-1}
.article-body h2,.article-body h3{font-size:18px}
.consult-banner{display:block;padding:28px}
.consult-banner h2{font-size:26px}
.consult-banner p{font-size:13px}
.consult-banner .wp-block-buttons{margin-top:24px}
.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.footer-brand{grid-column:1/-1}
.footer-brand p{max-width:400px}
.site-footer{padding-top:40px}
.footer-grid{padding-bottom:30px}
.footer-bottom{flex-direction:column;align-items:start;gap:10px}
.footer-bottom>div{gap:18px}
.page-main,.single-main,.archive-main,.commerce-main{padding-top:36px;padding-bottom:50px}
.page-heading{margin-bottom:30px}
.page-heading h1{font-size:34px}
.entry-content .wp-block-columns{display:block}
.entry-content .wp-block-column{margin-bottom:26px}
.entry-content .service-intro{font-size:17px}
.entry-content .service-detail{padding:24px}
.entry-content .service-detail h2{font-size:24px}
.vnaipro-contact form,.vnaipro-form{padding:24px}
.empty-state{padding:30px 24px}
.empty-state.compact{padding:22px;gap:14px}
.empty-state.compact h3{font-size:15px}
.empty-state.compact p{font-size:12px}
.woocommerce ul.products{grid-template-columns:repeat(min(var(--shop-columns,3),2),minmax(0,1fr))}
.woocommerce ul.products .woocommerce-loop-product__title{font-size:17px}
.woocommerce ul.products .price{font-size:20px}
.woocommerce ul.products .product-excerpt{font-size:12px}
.woocommerce div.product div.images,.woocommerce div.product div.summary{float:none;width:100%}
.woocommerce div.product div.images{max-width:500px}
.woocommerce div.product .product_title{font-size:31px}
.woocommerce-tabs .panel{padding:24px}
.woocommerce-checkout #customer_details,.woocommerce-checkout #order_review,.woocommerce-checkout #order_review_heading{float:none;width:100%}
.woocommerce-checkout #order_review_heading{margin-top:32px}
.woocommerce .col2-set{grid-template-columns:1fr}
.woocommerce-MyAccount-navigation,.woocommerce-MyAccount-content{float:none;width:100%}
.woocommerce-MyAccount-navigation{margin-bottom:28px}
.woocommerce-MyAccount-navigation ul{display:flex;overflow:auto;gap:8px}
.woocommerce-MyAccount-navigation a{white-space:nowrap;padding:11px 13px;font-size:12px}
.woocommerce table.cart th.product-thumbnail,.woocommerce table.cart td.product-thumbnail{display:none}
.woocommerce .coupon{float:none;max-width:100%;margin-bottom:16px}
.woocommerce td.actions>button{float:none;width:100%}
.woocommerce table.shop_table .product-name{min-width:100px}
.woocommerce table.shop_table .quantity .qty{width:55px}
.woocommerce-message .button,.woocommerce-info .button{float:none;margin:0 10px 10px 0}
.woocommerce-order ul.order_details{gap:20px}
.woocommerce-products-header h1{font-size:34px}
}
@media(max-width:480px){.brand-copy strong{font-size:20px}
.site-brand{gap:5px}
.site-brand img{width:42px;height:42px}
.header-inner{min-height:74px;gap:8px}
.header-actions .icon-button{width:34px}
.header-actions .icon-button svg{width:19px;height:19px}
.menu-toggle{width:40px;height:40px;padding:9px}
.account-link{display:none}
.language-switcher{margin-right:0}
.language-switcher a{font-size:10px;min-width:24px}

.hero h1{font-size:38px;letter-spacing:-1.5px}
.hero .eyebrow{font-size:9px;letter-spacing:1.6px}
.hero-description{font-size:14px}
.hero .wp-block-button__link{font-size:13px;padding:12px 18px}
.hero-notes{gap:12px}
.hero-notes span{font-size:10px}
.ecosystem{margin-top:34px;padding:18px 14px}
.ecosystem-node b{font-size:12px}
.ecosystem-node{font-size:9px;padding-inline:3px}
.ecosystem-label{font-size:8px;letter-spacing:1px}
.ecosystem-caption{font-size:9px}
.trust-strip .section-inner{grid-template-columns:1fr;gap:12px;padding-block:20px}
.trust-strip p{display:flex;align-items:center;min-height:104px;padding:20px 50px 20px 104px}
.trust-strip p::before{position:absolute;left:20px;top:50%;margin:0;transform:translateY(-50%)}
.trust-strip strong{top:14px;right:16px}
.services-grid,.article-grid,.woocommerce ul.products{grid-template-columns:1fr}
.article-card:last-child:nth-child(3){grid-column:auto}
.service-card{padding:28px}
.service-card h3{font-size:23px}
.service-card p{font-size:14px}
.process-grid{grid-template-columns:1fr;gap:24px}
.process-step{padding-top:20px}
.process-number{float:left;margin-right:20px;margin-top:3px;font-size:12px}
.process-step h3{font-size:18px;margin-bottom:10px}
.process-step p{font-size:13px;margin-left:40px}
.category-grid{grid-template-columns:1fr}
.category-card>svg{display:block}
.category-card strong{font-size:16px}
.category-card small{font-size:11px}
.category-icon{width:44px;height:44px}
.footer-grid{grid-template-columns:1fr;gap:20px}
.footer-brand{grid-column:auto}
.site-footer .primary-menu{display:grid;grid-template-columns:repeat(2,1fr);gap:4px 18px}
.footer-bottom>div{flex-wrap:wrap;gap:16px}
.woocommerce ul.products li.product{padding:26px}
.woocommerce ul.products .woocommerce-loop-product__title{font-size:20px}
.woocommerce ul.products .price{font-size:24px}
.woocommerce ul.products .product-excerpt{font-size:14px}
.woocommerce .woocommerce-ordering,.woocommerce .woocommerce-result-count{float:none}
.woocommerce .woocommerce-ordering select{width:100%}
.woocommerce-tabs ul.tabs{gap:16px}
.woocommerce-tabs ul.tabs li a{font-size:12px}
.woocommerce table.shop_table_responsive thead{display:none}
.woocommerce table.shop_table_responsive tr{display:block;border-bottom:1px solid var(--border)}
.woocommerce .cart_totals table.shop_table_responsive th{display:none}
.woocommerce table.shop_table_responsive td{display:flex;justify-content:space-between;gap:14px;align-items:center;border:0;text-align:right;padding:12px 16px}
.woocommerce table.shop_table_responsive td:before{content:attr(data-title);font-weight:600;text-align:left}
.woocommerce table.shop_table_responsive td.actions{display:block;text-align:left}
.woocommerce table.shop_table_responsive td.product-remove{padding-block:8px}
.woocommerce table.shop_table_responsive td.product-remove a{margin-left:auto}
.woocommerce table.shop_table_responsive td.product-name a{max-width:210px}
.woocommerce table.shop_table_responsive td.product-thumbnail{display:none}
.woocommerce form .form-row-first,.woocommerce form .form-row-last{float:none;width:100%}
.woocommerce form.login,.woocommerce form.register,.woocommerce-EditAccountForm{padding:22px}
.woocommerce .woocommerce-form-login__rememberme{margin-left:0;margin-top:14px}
.prose{font-size:16px}
.prose h2{font-size:26px}
.post-navigation{font-size:12px}
.empty-state.compact{align-items:flex-start}
.consult-banner{padding:26px}
.consult-banner h2{font-size:25px}
.consult-banner .wp-block-button,.consult-banner .wp-block-button__link{width:100%}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
.vnaipro-contact{margin-block:32px}
.vnaipro-contact-message{background:#e8f6ef;border:1px solid #a7d2ba;border-left:4px solid #257046;padding:18px 22px;border-radius:8px;max-width:820px}
.vnaipro-contact-message[role=alert]{background:#fff0f2;border-color:#ebbdc6;border-left-color:#a72b42}
.page-main:not(.contact-page):has(.vnaipro-compact-form){width:min(920px,calc(100% - var(--space)*2));padding-block:40px 64px}
.page-main:has(.vnaipro-compact-form) .page-heading{margin-bottom:20px}
.page-main:has(.vnaipro-compact-form) .page-heading h1{font-size:clamp(34px,4vw,44px);margin-bottom:0}
.page-main:has(.vnaipro-compact-form) .entry-content > p{margin-bottom:16px}
.page-main:has(.vnaipro-compact-form) .service-intro{font-size:20px}
.page-main:has(.vnaipro-compact-form) .vnaipro-contact-message{max-width:none}
.vnaipro-contact .contact-hint,#vnaipro-no-secrets{font-size:13px;line-height:1.65;color:var(--muted)}
form.vnaipro-compact-form{max-width:none;padding:clamp(22px,3vw,36px);background:var(--surface);border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow)}
form.vnaipro-compact-form .contact-form-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 20px;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--border)}
.contact-form-heading h2{font-size:25px;margin:0 0 6px}
.contact-form-heading p{margin:0}
form.vnaipro-compact-form .contact-field{min-width:0;margin:0 0 20px}
form.vnaipro-compact-form label{display:block;font-size:14px;font-weight:600;margin-bottom:8px}
form.vnaipro-compact-form label small{font-size:12px;font-weight:400;color:var(--muted)}
form.vnaipro-compact-form :is(input:not([type=checkbox]):not([type=hidden]),select,textarea){width:100%;max-width:100%;min-height:50px;border:1px solid color-mix(in srgb,var(--muted) 19%,var(--border));border-radius:9px;background:var(--surface);color:var(--ink);padding:11px 13px;font-size:16px;line-height:1.5}
form.vnaipro-compact-form textarea{min-height:118px;resize:vertical}
form.vnaipro-compact-form input::placeholder,form.vnaipro-compact-form textarea::placeholder{color:var(--muted);opacity:1}
form.vnaipro-compact-form .contact-reach-row{display:grid;grid-template-columns:minmax(150px,.7fr) minmax(0,1.3fr);gap:16px;margin-bottom:20px}
form.vnaipro-compact-form .contact-reach-row .contact-field{margin:0}
form.vnaipro-compact-form [hidden]{display:none!important}
form.vnaipro-compact-form .contact-service-picker{position:relative}
form.vnaipro-compact-form .contact-service-picker input{padding-right:58px}
form.vnaipro-compact-form .contact-service-toggle{position:absolute;right:1px;top:1px;width:48px;height:48px;min-height:48px;padding:12px;border:0;border-radius:8px;background:transparent;color:var(--muted);display:flex;align-items:center;justify-content:center}
form.vnaipro-compact-form .contact-service-toggle:hover{color:var(--blue);background:color-mix(in srgb,var(--blue) 7%,var(--surface))}
form.vnaipro-compact-form .contact-service-options{position:absolute;z-index:20;inset:calc(100% + 6px) 0 auto;margin:0;padding:6px;max-height:240px;overflow-y:auto;border:1px solid color-mix(in srgb,var(--muted) 19%,var(--border));border-radius:10px;background:var(--surface);box-shadow:0 10px 28px color-mix(in srgb,var(--ink) 12.16%,transparent);list-style:none}
form.vnaipro-compact-form .contact-service-options [role=option]{display:flex;align-items:center;min-height:46px;padding:10px 12px;border-radius:6px;font-size:15px;line-height:1.5;cursor:pointer}
form.vnaipro-compact-form .contact-service-options [role=option]:hover,form.vnaipro-compact-form .contact-service-options [aria-selected=true]{color:var(--blue);background:color-mix(in srgb,var(--blue) 7%,var(--surface))}
form.vnaipro-compact-form .contact-hint{margin:7px 0 0}
form.vnaipro-compact-form .contact-order-details{margin:0 0 20px;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.contact-order-details summary{display:list-item;min-height:46px;padding:11px 2px;color:var(--muted);font-size:14px;font-weight:500}
.contact-order-details summary:hover{color:var(--blue)}
.contact-order-details[open] summary{color:var(--ink);margin-bottom:6px}
form.vnaipro-compact-form .contact-order-details .contact-field{margin-bottom:16px}
form.vnaipro-compact-form .contact-consent{margin:0 0 20px}
form.vnaipro-compact-form .contact-consent label{display:flex;align-items:flex-start;gap:12px;min-height:44px;margin:0;font-size:14px;font-weight:400;line-height:1.65;cursor:pointer}
form.vnaipro-compact-form .contact-consent input{width:20px;height:20px;flex:0 0 20px;margin:2px 0 0;accent-color:var(--blue)}
form.vnaipro-compact-form .contact-submit-row{display:flex;align-items:center;gap:16px;margin:0}
form.vnaipro-compact-form button[type=submit]{min-height:50px;min-width:180px;border-radius:10px}
form.vnaipro-compact-form button[type=submit]:disabled{opacity:.65;cursor:wait}
form.vnaipro-compact-form #vnaipro-no-secrets{margin:8px 0 0}
form.vnaipro-compact-form [aria-invalid=true]{border-color:#a72b42}
@media(max-width:560px){
form.vnaipro-compact-form .contact-reach-row{grid-template-columns:minmax(0,1fr);gap:16px}
form.vnaipro-compact-form button[type=submit]{width:100%}
.contact-form-heading h2{font-size:23px}
}
.vnaipro-benefits{border-top:1px solid var(--border);padding-top:20px;margin-top:26px}
.vnaipro-benefits h2{font-size:20px}
.vnaipro-benefits p{font-size:14px;color:var(--muted)}
.vnaipro-delivery{margin:32px 0}
.vnaipro-delivery>article{padding:24px;background:white;border:1px solid var(--border);border-radius:10px;margin-bottom:16px}
.vnaipro-delivery>article h3{font-size:19px}
.vnaipro-delivery>article p{font-size:14px}
.vnaipro-delivery>article strong{display:inline-flex;background:color-mix(in srgb,var(--blue) 8%,var(--surface));color:color-mix(in srgb,var(--blue) 59%,var(--ink));font-size:12px;padding:4px 10px;border-radius:4px}
/* Keep touch targets usable even when a language switcher is present. */
.header-actions .icon-button{width:44px;min-height:44px}
.language-switcher a{min-width:36px}
.menu-toggle{min-width:44px;min-height:44px}
.menu-toggle>span{flex-shrink:0}
@media(max-width:480px){.brand-copy{display:none}
.site-brand img{width:58px;height:58px}
.header-actions .icon-button{width:44px}
.header-inner{gap:8px}
.language-switcher a{min-width:32px}
.menu-toggle{padding:10px}
}
.language-switcher a{min-width:44px}
@media(max-width:600px){.brand-copy{display:none}
.site-brand img{width:58px;height:58px}
}
.mobile-account{display:none}
.support-email{color:color-mix(in srgb,var(--blue) 14%,var(--border));overflow-wrap:anywhere}
.post-summary{margin-top:24px;color:var(--muted);font-size:18px}
@media(max-width:480px){.mobile-account{display:block;color:color-mix(in srgb,var(--muted) 11%,var(--border));text-decoration:none;font-size:15px;padding:12px 0;min-height:44px;border-top:1px solid color-mix(in srgb,var(--surface) 12.55%,transparent);margin-top:8px}
}
/* Body copy remains readable on phones; smaller styles are reserved for metadata. */
.hero-description,.section-head p,.service-card p,.process-step p,.article-body p,.consult-banner p,.empty-state p,.woocommerce ul.products .product-excerpt,.woocommerce-product-details__short-description,.entry-content .service-detail p,.service-detail li{font-size:16px}
.site-footer .primary-menu a,.footer-menu a,.footer-bottom a{min-height:44px}

.category-icon img{width:32px;height:32px;object-fit:contain}
.woocommerce p.stars span{display:flex;gap:8px;flex-wrap:wrap}.woocommerce p.stars a{display:grid;place-items:center;min-width:44px;min-height:44px;background:color-mix(in srgb,var(--blue) 7%,var(--surface));border:1px solid var(--border);border-radius:6px;text-decoration:none}.woocommerce p.stars a.active{background:var(--blue);color:#fff}

.brand-copy small{max-width:210px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vnaipro-code-block{background:var(--navy);border:1px solid color-mix(in srgb,var(--navy) 43%,var(--muted));border-radius:8px;margin:28px 0;overflow:hidden}
.vnaipro-code-toolbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:10px 16px;border-bottom:1px solid color-mix(in srgb,var(--surface) 14.12%,transparent)}
.vnaipro-code-copy{background:color-mix(in srgb,var(--blue) 22%,var(--ink));color:#fff;border:1px solid color-mix(in srgb,var(--muted) 73%,var(--border));border-radius:6px;min-height:44px;padding:9px 16px;font-size:14px;font-weight:600}
.vnaipro-code-copy:hover{background:color-mix(in srgb,var(--blue) 38%,var(--ink))}
.vnaipro-code-copy:focus-visible{outline-color:var(--cyan)}
.vnaipro-code-status{color:color-mix(in srgb,var(--blue) 15%,var(--border));font-size:13px;line-height:1.6;flex:1;min-width:130px}
.entry-content .vnaipro-code-block pre{border:0;border-radius:0;margin:0;padding:24px;background:var(--navy);color:color-mix(in srgb,var(--cyan) 12%,var(--page));overflow:auto;font-size:14px;line-height:1.7}

.woocommerce div.product form.cart{flex-wrap:wrap}

@media(min-width:901px){body.vnaipro-account-not-sticky .account-page .woocommerce-MyAccount-navigation,body.vnaipro-account-not-sticky .account-workspace .woocommerce-MyAccount-navigation{position:static}}

.ecosystem-node:not(a){cursor:default}

/* Contact hub uses the same editorial banner rhythm as guides and services. */
.contact-page > article > .entry-content{max-width:none}
.contact-hub{display:grid;gap:36px}
.contact-hub > *,.contact-hero-copy > *{margin-block-start:0}
.contact-hero{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(240px,.8fr);align-items:center;gap:28px;padding:clamp(24px,4vw,48px);background:var(--navy);color:var(--surface);border-radius:24px}
.contact-hero::before{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;background:radial-gradient(ellipse at 95% 18%,color-mix(in srgb,var(--cyan) 11%,transparent),transparent 62%),linear-gradient(120deg,transparent 45%,color-mix(in srgb,var(--blue) 7%,transparent))}
.contact-hero .eyebrow{color:color-mix(in srgb,var(--cyan) 55%,var(--page));margin-bottom:14px}
.contact-hero h1{color:var(--surface);margin-bottom:14px;font-size:clamp(36px,4vw,54px)}
.contact-hero .contact-hero-lead{color:color-mix(in srgb,var(--blue) 10%,var(--surface));font-size:clamp(19px,2vw,23px);line-height:1.5;margin-bottom:14px}
.contact-hero-copy > p:not(.eyebrow):not(.contact-hero-lead){color:color-mix(in srgb,var(--blue) 14%,var(--border));max-width:56ch;margin-bottom:26px}
.contact-hero-copy .wp-block-buttons{margin:0}
.contact-hero .wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:48px;padding:12px 20px;background:var(--cyan);color:var(--navy);border:1px solid transparent;border-radius:10px;font-weight:700;font-size:14px;text-decoration:none}
.contact-hero .wp-block-button__link:hover{background:color-mix(in srgb,var(--cyan) 55%,var(--surface));color:var(--navy)}
.contact-hero :focus-visible{outline-color:color-mix(in srgb,var(--cyan) 49%,var(--surface))}
.contact-hero-visual{width:100%;aspect-ratio:5/4;background:var(--media-contact-hero,url("../icons/contact-support.svg")) center/contain no-repeat}
.contact-request{width:100%;max-width:920px;min-width:0;margin-inline:auto;scroll-margin-top:24px}
.contact-request .vnaipro-contact{margin-block:0}
.contact-request .vnaipro-contact-message{max-width:none}
@media(max-width:900px){.contact-hero{grid-template-columns:minmax(0,1.4fr) minmax(180px,.8fr);gap:12px}.contact-hero-copy > p:not(.eyebrow):not(.contact-hero-lead){font-size:15px}}
@media(max-width:680px){.contact-hub{gap:24px}.contact-hero{grid-template-columns:minmax(0,1fr);padding:26px 24px;gap:0}.contact-hero h1{font-size:34px}.contact-hero .eyebrow{font-size:11px;margin-bottom:12px}.contact-hero .contact-hero-lead{font-size:19px}.contact-hero-copy > p:not(.eyebrow):not(.contact-hero-lead){font-size:15px;line-height:1.75;margin-bottom:20px}.contact-hero-visual{display:none}.contact-hero .wp-block-button__link{width:100%}}

/* Progressive header navigation: native links stay visible without JavaScript. */
.site-header .site-brand{min-width:0;max-width:min(320px,35%);flex:0 1 auto}
.site-header .site-brand img{flex-shrink:0}
.site-header .brand-copy{min-width:0}
.site-header .brand-copy strong{overflow-wrap:anywhere}
.site-header .header-actions{flex-shrink:0}
.site-header .primary-navigation{min-width:0}
.site-header .primary-menu a{min-width:44px;white-space:normal;overflow-wrap:anywhere}
.site-header .primary-menu li{min-width:0}
.site-header:not(.navigation-ready) .header-inner{flex-wrap:wrap;padding-block:12px}
.site-header:not(.navigation-ready) .menu-toggle{display:none}
.site-header:not(.navigation-ready) .primary-navigation{display:block;position:static;order:4;flex-basis:100%;width:100%;padding:12px 0 0;border:0;box-shadow:none}
.site-header:not(.navigation-ready) .primary-menu{flex-wrap:wrap}
.site-header:not(.navigation-ready) .primary-menu .sub-menu{position:static;display:block;box-shadow:none;min-width:0;margin:0;padding:0 0 0 18px}
.site-header.navigation-ready .menu-toggle{display:none}
.site-header.navigation-ready .primary-menu>.menu-item-has-children{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:center}
.site-header.navigation-ready .primary-menu .sub-menu{display:none;grid-column:1/-1;position:absolute;top:100%;inset-inline-end:0;min-width:220px;width:max-content;max-width:min(360px,calc(100vw - var(--space)*2));margin:0;padding:12px}
.site-header.navigation-ready .primary-menu .is-submenu-open>.sub-menu{display:block}
.submenu-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;margin:0;padding:10px;border:0;border-radius:8px;background:transparent;color:var(--border)}
.submenu-toggle:hover{color:var(--cyan);background:color-mix(in srgb,var(--surface) 6%,transparent)}
.submenu-toggle::before{content:"";width:8px;height:8px;border-inline-end:2px solid currentColor;border-block-end:2px solid currentColor;transform:rotate(45deg);margin-top:-4px}
.submenu-toggle[aria-expanded=true]::before{transform:rotate(225deg);margin-top:4px}
.site-header.navigation-compact .header-inner{gap:16px}
.site-header.navigation-compact .menu-toggle{display:block;order:3;flex-shrink:0}
.site-header.navigation-compact .header-actions{margin-left:auto}
.site-header.navigation-compact .site-brand img.official-logo{max-width:64px}
.site-header.navigation-compact .primary-navigation{display:none;position:absolute;inset-inline:0;top:100%;background:var(--navy);border-top:1px solid color-mix(in srgb,var(--surface) 13%,transparent);border-bottom:1px solid color-mix(in srgb,var(--surface) 19%,transparent);padding:14px var(--space) 22px;box-shadow:0 24px 30px #0000001a;max-height:calc(100dvh - var(--header-height,92px) - 12px);overflow-y:auto;overscroll-behavior-y:contain}
.site-header.navigation-compact .primary-navigation.is-open{display:block}
.site-header.navigation-compact .primary-menu{display:block}
.site-header.navigation-compact .primary-menu a{font-size:15px;min-height:44px;padding:12px 0}
.site-header.navigation-compact .primary-menu .sub-menu{position:static;min-width:0;width:auto;max-width:none;border:0;padding:0 0 0 18px;box-shadow:none}
.site-header.navigation-measuring .primary-navigation{display:block!important;position:absolute!important;visibility:hidden;inline-size:max-content;max-inline-size:none;max-height:none;padding:0;overflow:visible}
.site-header.navigation-measuring .primary-menu{display:flex;flex-wrap:nowrap}
.site-header.navigation-measuring .primary-menu>li>a{white-space:nowrap}
.site-header.navigation-measuring .sub-menu,.site-header.navigation-measuring .mobile-account{display:none!important}
.site-header .header-search{position:static}
.site-header .header-search .search-form{position:absolute;inset-inline-end:max(var(--space),calc((100% - 1200px)/2));inset-inline-start:auto;top:calc(100% + 8px);width:min(420px,calc(100% - var(--space)*2));max-width:none;z-index:2;padding:10px;border-radius:12px}
.site-header .header-search input[type=search]{font-size:16px;min-height:44px}
.site-header .header-search button{flex:0 0 48px;min-height:44px}
@media(max-width:600px){.site-header .site-brand{flex:0 0 58px;max-width:58px}.site-header .site-brand img.official-logo{max-width:58px}.site-header.navigation-compact .header-inner{gap:8px}}
@media(max-width:360px){.site-header .site-brand{flex-basis:44px;max-width:44px}.site-header .site-brand img,.site-header .site-brand img.official-logo{width:auto;max-width:44px;max-height:44px}}
.featured-carousel-footer{min-width:0;flex-wrap:wrap}
.featured-carousel-footer> *{min-width:0}
.featured-carousel .woocommerce-loop-product__title,.featured-carousel .product-excerpt,.featured-carousel .woocommerce-loop-product__link{overflow-wrap:anywhere}
.footer-wordmark{display:inline-flex;align-items:center;min-width:44px;min-height:44px;max-width:100%;overflow-wrap:anywhere}
.site-footer .primary-menu a,.footer-menu a,.footer-bottom a,.site-footer .text-link,.site-footer .support-email{display:inline-flex;align-items:center;min-width:44px;min-height:44px;max-width:100%;overflow-wrap:anywhere;white-space:normal}
@media(max-width:767px){.site-footer .primary-menu a,.footer-menu a,.site-footer .text-link,.footer-brand p,.footer-grid>div>p{font-size:14px}.site-footer h2{font-size:15px}.footer-bottom{font-size:13px}}
.woocommerce a.remove{min-width:44px;min-height:44px;width:44px;height:44px}
.woocommerce-message .button,.woocommerce-info .button,.woocommerce-error .button{min-height:44px}
.woocommerce .cart :is(.qty,#coupon_code){font-size:16px}
.woocommerce :is(.woocommerce-loop-product__title,.product_title,.shop_table .product-name),.woocommerce-breadcrumb{overflow-wrap:anywhere}
.contact-service-option,form.vnaipro-compact-form .contact-service-options [role=option]{min-width:0;overflow-wrap:anywhere}

.site-header.navigation-measuring .header-inner{gap:28px}
.site-header.navigation-measuring .site-brand img.official-logo{max-width:170px}
@media(max-width:1150px){.site-header.navigation-measuring .header-inner{gap:18px}}
