/* Bright, flat Japan-inspired visual system. Loaded after the base styles. */
:root{--navy:#29485b;--navy2:#203e50;--red:#db483e;--gold:#dc9138;--cream:#fff4e8;--paper:#fff;--ink:#223b49;--muted:#526873;--line:#d8e5e5;--shadow:none}
body,body:has(.workspace){background:#fbfdfd;color:var(--ink)}
.topline{background:#e34c42;color:#fff}.topline a{color:#fff}
.header{background:#fff;border-bottom:1px solid var(--line);box-shadow:none;backdrop-filter:none}
.brand-mark{border-radius:2px;transform:none;background:#fff5f0}
.nav .nav-call,.btn,.floating-call{border-radius:4px;box-shadow:none}
.nav .nav-call,.btn-red,.floating-call{background:var(--red)}
.nav .nav-call:hover,.btn-red:hover,.floating-call:hover{background:#bf352e;transform:none}
.btn-zalo{background:#087d69;border-color:#087d69}.btn-zalo:hover{background:#086957;transform:none}
.hero{background:#fff5e9;color:var(--navy)}
.hero:after{background:var(--red)}
.hero-slides{border-left:8px solid #fff}
.hero-slides .hero-bg{background:url('assets/autumn-kyoto.webp') center/cover}
.hero-slides .hero-bg-second{background:url('assets/autumn-garden.webp') center/cover}
.hero p,.hero-note{color:#425c69}.hero-note{border-color:#e6d8c9}
.hero-dots button{border-radius:2px;background:rgba(255,255,255,.65)}
.trust{background:#eaf6f4;border-color:#cee7e2}.trust-item{border-color:#cee7e2}
.section{background:#fff}.section-title{color:var(--navy)}
.visa-card{min-height:335px!important;padding:0;border:1px solid var(--line);border-radius:4px;background:var(--photo) center/cover;color:var(--ink);box-shadow:none;transition:border-color .2s}
.visa-card:before{display:none}
.visa-card>div{position:relative;width:100%;padding:15px 22px 19px;background:#fff;border-top:4px solid var(--red)}
.visa-card small{color:#ae3a33}.visa-card h3{color:var(--navy);margin:3px 0}
.visa-card p{color:var(--muted)}
.visa-card:hover{outline:none;border-color:var(--red)}
.process{background:#eef8f6}.steps:before{background:#db483e}.step{background:#fff;border:1px solid #cfe4e0;box-shadow:none;border-radius:4px}
.step:after{background:var(--red)}.step-num{box-shadow:0 0 0 6px #eef8f6}
.why-photo{border-radius:4px}.why-photo span{box-shadow:none;border-radius:2px}
.contact{background:#eaf6f4;color:var(--ink)}
.contact .section-title{color:var(--navy)}.contact .section-intro{color:var(--muted)}
.contact .eyebrow{color:#b4342e!important}.contact-details small{color:#a83b34}
.contact-details a,.contact-details span{color:var(--navy)}
.contact-details .zalo-direct{color:#086b5d;text-decoration-color:#086b5d}
.contact-form{border:1px solid #cce1dd;box-shadow:none;border-radius:4px}
.field input,.field select,.field textarea{background:#fff;border-color:#c6d8d8;border-radius:3px}
.field :is(input,select,textarea):focus,.search input:focus,.consult-panel input:focus,.consult-panel textarea:focus{box-shadow:0 0 0 3px #f7d8d4}
.footer{background:#29485b;color:#e3eeee}.footer .brand-text small{color:#d8e8e9}
/* Checklist */
.intro{background:#fff2e5;color:var(--navy);border-bottom:4px solid var(--red)}
.intro:after{color:#edcfc1;opacity:.65}.intro .eyebrow{color:#b4342e}.intro p{color:#48616d}
.workspace{margin-top:0;padding-top:25px}
.note{background:#fff8ed;border:1px solid #efd9bc;border-left:4px solid var(--gold);box-shadow:none;color:#5b4c3c}
.visa-group{background:#fff;border:1px solid var(--line);border-top:4px solid var(--red);box-shadow:none;border-radius:4px}
.visa-group:nth-child(2){border-top-color:#3e8692}
.tabs button{background:#fff;color:var(--navy);border-radius:3px}
.tabs button[aria-selected=true]{background:var(--red);border-color:var(--red);color:#fff}
.search input{border-radius:3px}.category,.consult-panel{box-shadow:none;border-radius:4px}
.category{border:1px solid var(--line)}.consult-panel{border:1px solid var(--line);border-top:4px solid var(--red)}
.consult-status{background:#fff5e9;border-left-color:var(--gold)}
.consult-panel textarea,.document ul{background:#f5faf9}
.consult-actions a,.consult-actions button{border-radius:3px}.consult-actions button{background:var(--navy)}
.consult-actions a:hover{background:#bf352e}.consult-actions button:hover{background:#1b3a4a}
.progress-bar{background:#e4efed;border-radius:2px}.check-ui{border-radius:2px}
.doc-list{border-radius:3px}.document{background:#fff}.document:hover{background:#f7fbfa}
@media(max-width:720px){
  .nav{box-shadow:none;border-bottom:1px solid var(--line)}
  .hero-slides{border-left:0;border-top:6px solid #fff}
  .visa-card{min-height:325px!important}
  .workspace{margin-top:0}
}

/* Supplied VisaNhat identity and verified service content. */
.brand-logo{display:block;width:205px;max-width:100%;height:auto;object-fit:contain}
.header-inner{gap:22px}.nav{gap:17px;font-size:.875rem}.nav .nav-call{padding:11px 13px;white-space:nowrap}
.footer .brand{display:inline-flex;background:#fff;padding:10px 14px;border-radius:3px}.footer .brand-logo{width:205px}
.footer-links{max-width:650px;gap:14px 22px}.footer .wrap{align-items:center}
.trust-icon{font-size:1.6rem;min-width:62px}.trust-item strong{font-size:1rem}
.process-note{max-width:850px;margin:10px auto 0;border-top:1px solid #cde0dc;padding-top:22px;color:var(--muted);font-size:1rem;line-height:1.75}
.process-note .source-link{margin-top:9px}.why-layout .benefit{grid-template-columns:40px 1fr}
.credentials{background:#f2f7ff;border-top:1px solid #dfE8f4;border-bottom:1px solid #dfe8f4}
.credential-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:32px}
.credential-grid article{background:#fff;padding:29px 25px;border:1px solid #d6e2f1;border-top:4px solid #2c5ba1;border-radius:4px}
.card-label{font-size:.875rem;letter-spacing:.07em;font-weight:800;color:#2b5799}
.credential-grid h3,.insurance-benefits h3{font:600 1.3rem/1.4 'Noto Serif',serif;color:var(--navy);margin:12px 0}
.credential-grid p{font-size:1rem;line-height:1.8;color:var(--muted);margin:0}
.credential-grid .source-link{font-size:.875rem;line-height:1.6}
.insurance{background:#fff8e9}.insurance-layout{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:start}
.insurance .section-intro{line-height:1.8}.insurance-sources{display:flex;flex-wrap:wrap;gap:12px 20px;margin-top:24px;font-size:.875rem;color:#305b95}
.insurance-sources a{text-decoration:underline;text-underline-offset:4px}
.insurance-benefits>div{display:grid;grid-template-columns:42px 1fr;gap:0 16px;padding:20px 0;border-bottom:1px solid #e6d9c0}
.insurance-benefits>div:first-child{padding-top:0}.insurance-benefits span{grid-row:span 2;color:#aa671d;font-weight:800;font-size:1.2rem;padding-top:3px}
.insurance-benefits h3{margin:0 0 6px}.insurance-benefits p{margin:0;color:var(--muted);font-size:1rem;line-height:1.75}
.insurance-benefits .insurance-note{font-size:.875rem;margin-top:22px}
.section[id]{scroll-margin-top:90px}.field input[type=date]{min-width:0}
#contact-copy-fallback{width:100%;min-height:220px;padding:14px;margin-top:16px;border:1px solid var(--line);font:inherit;font-size:.875rem;color:var(--ink)}
#consult-note{min-height:92px}#consult-message{min-height:240px}
@media(max-width:1100px){.header .brand-logo{width:175px}.nav{gap:12px;font-size:.875rem}.nav .nav-call{padding:10px}.insurance-layout{gap:35px}}
@media(max-width:1000px){.header-inner{min-height:76px}.menu-button{display:block}.header .nav{display:none;position:absolute;top:76px;left:0;right:0;background:#fff;padding:16px 24px 22px;border-bottom:1px solid var(--line);box-shadow:none;flex-direction:column;align-items:stretch;gap:0}.header .nav.open{display:flex}.nav a{padding:11px 0}.nav .nav-call{margin-top:8px;text-align:center}.credential-grid{grid-template-columns:1fr}.credential-grid article{padding:24px}.trust-item{gap:12px;padding-left:18px;padding-right:18px}}
@media(max-width:720px){.header-inner{min-height:72px}.header .nav{top:72px}.header .brand-logo{width:175px}.insurance-layout{grid-template-columns:1fr;gap:36px}.section[id]{scroll-margin-top:80px}.trust-item{padding:22px 0}.trust-icon{min-width:65px}.footer .brand-logo{width:190px}.footer .wrap{align-items:start}.credential-grid{gap:16px}.insurance-sources{flex-direction:column}.footer-links{margin-top:6px}}

@media(max-width:460px){.header:not(:has(.menu-button)) .brand-logo{width:145px}.header:not(:has(.menu-button)) .header-inner{gap:12px}.header:not(:has(.menu-button)) nav{gap:10px}}
