/* VisaNhat: bold Japanese red, brand blue and golden accents. */
:root{--navy:#123b7c;--navy2:#0b2857;--red:#d82132;--gold:#ffab29;--ink:#182c48;--muted:#4a5e78;--line:#d5deeb;--paper:#fff;--cream:#f4f7fc}
body,body:has(.workspace){background:#fff}.topline{background:#123b7c}.header{border-bottom-color:#dce4ef}
.header .brand-logo{width:200px}.header-inner{min-height:88px}.nav{gap:16px;font-size:.875rem}.nav .nav-call{background:var(--red)}
.brand-mark{transform:none}.btn{border-radius:3px}.btn-red{background:var(--red)}.btn-red:hover{background:#b61928}
.hero{display:block;min-height:690px;background:#0b2857;color:#fff}
.hero-slides{position:absolute;inset:0;left:0;width:100%;height:100%;border:0;order:initial}
.hero-slides:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,20,48,.88),rgba(4,20,48,.66) 38%,rgba(4,20,48,.1) 82%);pointer-events:none}
.hero-slides .hero-bg{background-position:center 53%}.hero-slides .hero-bg-second{background-position:center 56%}
.hero .wrap{padding:106px 0 90px}.hero .hero-content{width:100%;max-width:770px;padding:0}
.hero .hero-kicker{color:#ffbe50;letter-spacing:.16em}.hero-kicker:before{background:#ffbe50}
.hero h1{font-size:clamp(3rem,4.9vw,4.75rem);line-height:1.17;letter-spacing:-.04em;margin:22px 0 24px;color:#fff}
.hero h1 em{color:#ffbe50}.hero p{font-size:1.08rem;color:#f0f4fa;max-width:630px;line-height:1.8}
.hero .btn-outline{background:transparent;color:#fff;border-color:#fff}.hero .btn-outline:hover{background:#fff;color:var(--navy)}
.hero-note{max-width:570px;color:#e9eff7;border-color:rgba(255,255,255,.3);margin-top:32px}.hero-note strong{color:#ffbe50}.hero:after{height:5px;background:var(--red)}
.hero-dots{right:max(28px,calc((100vw - 1180px)/2));bottom:36px;z-index:4}.hero-dots button{height:8px;width:36px;border-radius:1px}
.trust{background:#123b7c;border:0}.trust-item{border-color:#446297;padding:32px 26px}.trust-item strong{color:#fff}.trust-item span{color:#e3ecfa}.trust-icon{color:#ffb636;font-size:1.7rem}
.section{padding:90px 0}.section-title{color:#123b7c}.eyebrow{color:#c51d2e}.section-intro{font-size:1.05rem;line-height:1.8}
.visa-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;align-items:stretch}
.visa-card,.visa-card:nth-child(1){min-height:0!important;grid-column:auto;padding:0;background:#fff;border:1px solid #d5deeb;display:flex;flex-direction:column;align-items:stretch;border-radius:3px}
.visa-photo{display:block;aspect-ratio:1.2;background:var(--photo) center/cover;flex-shrink:0}
.visa-card>div{border-top:4px solid #d82132;padding:18px 17px 22px;flex:1;width:100%}
.visa-card small{font-size:.75rem;letter-spacing:.07em;color:#b81d2c;line-height:1.6}.visa-card h3{font-size:1.27rem;line-height:1.35;margin:7px 0 10px}.visa-card p{font-size:.94rem;line-height:1.65}
.visa-card:hover{border-color:#d82132}.visa-card:hover:before{transform:none}
.section-heading{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:end;margin-bottom:42px}
.section-heading .section-title{margin-bottom:0}.section-heading>p{font-size:1rem;line-height:1.8;color:var(--muted);max-width:500px;margin:0 0 5px}
.process{background:#f1f5fc;border-block:1px solid #dce5f1}.process .eyebrow,.process .section-title{text-align:left;margin-left:0}
.journey-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;position:relative;outline-offset:6px}
.journey-grid:before{content:"";position:absolute;left:37px;right:37px;top:37px;height:3px;background:#f5ae38}
.journey-step{position:relative}.journey-icon{position:relative;display:grid;place-items:center;width:76px;height:76px;background:#123b7c;color:white;border:7px solid #f1f5fc;border-radius:50%;margin-bottom:17px;z-index:1}
.journey-icon svg{width:32px;height:32px}.journey-number{display:block;color:#c51d2e;font-size:.875rem;font-weight:800;letter-spacing:.08em}
.journey-step h3{font:600 1.3rem/1.4 'Noto Serif',serif;color:var(--navy);margin:10px 0}.journey-step p{font-size:1rem;color:var(--muted);line-height:1.8;margin:0}
.process-note{max-width:none;border-top:1px solid #cedbea;margin:34px 0 0;padding-top:20px;font-size:.875rem}
.about-heading{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;margin-bottom:36px}.about-heading p{font-size:1rem;line-height:1.8;color:var(--muted);margin:0 0 14px}
.about-panorama{margin:0;position:relative;background:#16356d}.about-panorama img{display:block;width:100%;height:400px;object-fit:cover;object-position:center 48%}
.about-panorama figcaption{position:absolute;bottom:0;right:0;color:#fff;background:rgba(7,27,60,.78);font-size:.75rem;padding:8px 13px}
.about-strengths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:#123b7c;color:#fff;border-top:5px solid #ffad2c}
.about-strengths article{padding:32px 30px;border-right:1px solid #46649a}.about-strengths article:last-child{border:0}.about-strengths span{color:#ffc261;font-size:.875rem;font-weight:800;letter-spacing:.06em}
.about-strengths h3{font:600 1.4rem/1.4 'Noto Serif',serif;margin:10px 0}.about-strengths p{font-size:1rem;line-height:1.75;margin:0;color:#edf2fb}
.legal-section{background:#f2f6fc}.legal-facts{display:grid;grid-template-columns:1.3fr .7fr 1fr;border-block:1px solid #cad8eb;margin-bottom:30px;padding:24px 0;gap:30px}
.legal-facts small{display:block;font-size:.75rem;letter-spacing:.06em;font-weight:800;color:#4a5e78;margin-bottom:7px}.legal-facts strong{display:block;color:#123b7c;font-size:1.05rem;line-height:1.5}.legal-facts span{display:block;color:#4a5e78;font-size:.875rem;line-height:1.6;margin-top:6px}
.legal-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.legal-card{display:block;text-align:left;background:#fff;border:1px solid #cad8eb;padding:0;border-radius:3px;color:var(--ink);overflow:hidden;cursor:zoom-in}
.legal-card:hover,.legal-card:focus-visible{border-color:#d82132;outline:2px solid #d82132;outline-offset:2px}
.document-preview{display:flex;align-items:center;justify-content:center;height:300px;background:#e4ecf7;padding:20px}.document-preview img{max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain}
.document-caption{display:block;padding:22px;border-top:3px solid #123b7c}.document-caption small{display:block;font-size:.75rem;color:#bd1c2c;font-weight:800;letter-spacing:.06em}.document-caption strong{display:block;font:600 1.3rem/1.4 'Noto Serif',serif;margin:8px 0;color:#123b7c}.document-caption>span{display:block;font-size:.875rem;color:#52657e}
.gallery-note{font-size:.875rem;line-height:1.8;color:#52657e;margin:23px 0 0}
.insurance{background:#fff3d8;border-block:1px solid #f4d79d}.insurance-points{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}.insurance-points span{color:#734a12;font-size:.875rem;background:#ffe3a8;padding:7px 12px}
.contact{background:#e7eefb;border-top:1px solid #c8d8ef}.contact-form{border-color:#c1d2ed;border-top:4px solid #d82132}.contact-details small{color:#bb2030}.contact-details .zalo-direct{color:#1553a7}.btn-zalo{background:#1553a7;border-color:#1553a7}.btn-zalo:hover{background:#0f3c80}
.intro{background:#123b7c;color:#fff;border-bottom-color:#ffad2c}.intro .eyebrow{color:#ffc05a}.intro p{color:#e5efff}.intro:after{color:#7393c4;opacity:.15}.note{border-left-color:#ffad2c}.visa-group:nth-child(2){border-top-color:#1553a7}
/* Document viewer stays entirely within the Site. */
.viewer-open{overflow:hidden}.legal-viewer{width:min(1120px,calc(100vw - 28px));height:min(92vh,1100px);max-height:92vh;border:0;border-radius:5px;padding:0;background:#f0f4fa;color:#182c48;overflow:hidden}
.legal-viewer::backdrop{background:rgba(3,17,40,.85)}.legal-viewer[open]{display:flex;flex-direction:column}
.viewer-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 22px;background:#123b7c;color:#fff}.viewer-toolbar span{font-size:.75rem;color:#ffbf53}.viewer-toolbar h2{font-size:1.05rem;line-height:1.4;margin:3px 0 0;font-weight:700}
.viewer-toolbar button,.viewer-controls button{font:700 .875rem/1.4 'Be Vietnam Pro',sans-serif;padding:10px 15px;min-height:44px;border:1px solid #c7d5e8;background:#fff;color:#123b7c;border-radius:3px;white-space:nowrap}
.viewer-image-area{flex:1;min-height:0;overflow:auto;display:flex;align-items:flex-start;justify-content:center;padding:22px}.viewer-image-area img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;margin:auto}
.is-zoomed .viewer-image-area{display:block}.is-zoomed .viewer-image-area img{max-width:none;max-height:none;width:160%;height:auto;margin:0}
.viewer-controls{display:flex;justify-content:center;gap:12px;padding:12px 16px 0}.viewer-controls button:hover{background:#123b7c;color:#fff}.legal-viewer>p{font-size:.875rem;line-height:1.6;margin:12px 22px 18px;text-align:center;color:#4a5e78}
/* Shared four-column professional footer. */
.site-footer{background:#09265a;color:#e1eafa;font-size:.94rem;line-height:1.75}.footer-cta{background:#d82132;color:#fff;padding:30px 0}.footer-cta .wrap{display:flex;align-items:center;justify-content:space-between;gap:30px}.footer-cta span{font-size:.75rem;letter-spacing:.1em;font-weight:800}.footer-cta h2{font:600 1.65rem/1.4 'Noto Serif',serif;margin:7px 0 0}.footer-cta .btn{background:#fff;color:#a41625;flex-shrink:0}
.footer-grid{display:grid;grid-template-columns:1.2fr .85fr .85fr 1.1fr;gap:40px;padding-top:56px;padding-bottom:45px}.footer-logo{display:block;width:245px;max-width:100%;height:auto;margin:0 0 22px;background:transparent}
.site-footer h3{font-size:.875rem;letter-spacing:.045em;color:#ffc05a;margin:0 0 17px;line-height:1.6}.footer-company h3{color:#fff}.site-footer p{margin:0 0 14px;font-size:.94rem}.site-footer nav{display:grid;gap:8px}.site-footer a:hover{text-decoration:underline;text-underline-offset:4px;color:#fff}.footer-contact>a{display:block;overflow-wrap:anywhere;margin-bottom:8px}.footer-hotline{font-size:1.6rem;font-weight:800;color:#fff}.footer-contact .footer-zalo{display:inline-block;padding:7px 12px;margin-top:8px;border:1px solid #728fbb;border-radius:3px;color:#fff}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding:22px 0;border-top:1px solid #3c5480;font-size:.75rem;color:#d5e0f2}.section[id]{scroll-margin-top:100px}
@media(max-width:1150px){.header .brand-logo{width:175px}.nav{gap:11px}.visa-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.visa-photo{aspect-ratio:1.6}.footer-grid{gap:25px}.hero .hero-content{max-width:700px}.journey-grid{gap:22px}}
@media(max-width:1000px){.header-inner{min-height:76px}.header .nav{top:76px}.footer-grid{grid-template-columns:1fr 1fr;gap:36px}.about-heading{gap:35px}.section-heading{gap:35px}.legal-facts{grid-template-columns:1fr 1fr}.legal-facts>div:last-child{grid-column:span 2}.document-preview{height:240px}.document-caption{padding:17px}.document-caption strong{font-size:1.15rem}}
@media(max-width:800px){.journey-grid{grid-auto-flow:column;grid-auto-columns:240px;grid-template-columns:none;gap:28px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:18px}.journey-step{scroll-snap-align:start}.journey-grid:before{width:850px;right:auto}.section-heading,.about-heading{grid-template-columns:1fr;gap:15px}.about-strengths{grid-template-columns:1fr}.about-strengths article{border-right:0;border-bottom:1px solid #46649a;padding:27px}.legal-gallery{gap:14px}.document-preview{height:210px;padding:14px}.hero h1{font-size:3.5rem}.hero{min-height:650px}.hero .hero-content{max-width:640px}}
@media(max-width:720px){.hero{display:block;min-height:680px}.hero-slides{position:absolute;inset:0;left:0;height:100%;width:100%;border:0;order:initial}.hero-slides:after{background:linear-gradient(90deg,rgba(4,20,48,.83),rgba(4,20,48,.5))}.hero .wrap{padding:78px 0 90px}.hero .hero-content{max-width:100%;width:100%}.hero h1{font-size:clamp(2.6rem,8.5vw,3.8rem);line-height:1.22}.hero p{font-size:1rem}.hero:after{display:block}.hero-note{margin-top:26px}.hero-dots{bottom:28px;right:24px}.trust-item{padding:24px 0;border-bottom-color:#446297}.section{padding:65px 0}.visa-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.visa-card,.visa-card:nth-child(1){min-height:0!important;grid-column:auto}.visa-photo{aspect-ratio:1.25}.visa-card>div{padding:17px 15px 20px}.legal-gallery{grid-template-columns:1fr}.document-preview{height:310px;padding:20px}.document-caption{padding:22px}.document-caption strong{font-size:1.3rem}.legal-facts{grid-template-columns:1fr;gap:23px}.legal-facts>div:last-child{grid-column:auto}.about-panorama img{height:330px;object-position:45% center}.about-panorama figcaption{font-size:.7rem;max-width:100%;padding:6px 9px}.footer-cta .wrap{flex-direction:column;align-items:start;gap:20px}.footer-cta h2{font-size:1.5rem}.footer-bottom{flex-direction:column;gap:8px}.section[id]{scroll-margin-top:85px}.viewer-toolbar{padding:12px;gap:10px}.viewer-toolbar h2{font-size:.875rem}.viewer-toolbar button{padding:8px 10px}.viewer-image-area{padding:12px}.legal-viewer>p{font-size:.75rem;margin:10px 12px 14px}.viewer-controls{gap:8px}.viewer-controls button{padding:9px 11px;font-size:.75rem}}
@media(max-width:460px){.visa-grid{grid-template-columns:1fr}.visa-photo{aspect-ratio:1.6}.visa-card h3{font-size:1.45rem}.hero-actions{gap:10px}.hero-actions .btn{padding:12px 16px;font-size:.875rem}.footer-grid{grid-template-columns:1fr;gap:30px;padding-top:40px}.footer-logo{width:235px}.hero .hero-kicker{font-size:.75rem;letter-spacing:.07em}.hero-note{font-size:.8rem}.header:not(:has(.menu-button)) .brand-logo{width:140px}}
.journey-grid:before{right:auto;width:calc(75% + 24px)}
@media(max-width:1150px) and (min-width:801px){.journey-grid:before{width:calc(75% + 16.5px)}}
@media(max-width:800px){.journey-grid:before{width:804px}}

/* Compact heading hierarchy and calm white / milk-cream reading surfaces. */
body,body:has(.workspace){background:#fff}
.section{padding:56px 0;background:#fff}
.section .section-title{font-size:clamp(1.8rem,2.8vw,2.55rem);line-height:1.32;letter-spacing:-.025em;margin:8px 0 14px}
.section .eyebrow{font-size:.875rem;line-height:1.6;letter-spacing:.09em}
.section-heading,.about-heading{display:block;margin-bottom:26px}
.section-heading>div,.about-heading>div{max-width:100%}
.section-heading>p,.about-heading p{max-width:900px;margin:0;font-size:1rem;line-height:1.75;color:#526073}
.about-heading>div+div{margin-top:12px}.about-heading p+p{margin-top:8px}
.section-heading .section-title{margin-bottom:12px}
.section-intro{margin-bottom:25px;line-height:1.75}
.process .section-title{margin-left:0;margin-right:0}
.hero{min-height:590px}.hero .wrap{padding:76px 0 70px}
.trust{background:#fbf7ef;border-bottom:1px solid #e8e1d5}
.trust-item{padding-top:23px;padding-bottom:23px;border-color:#e3dbce}
.trust-item strong{color:#123b7c}.trust-item span{color:#526073}.trust-icon{color:#c51d2e}
.process,.legal-section,.contact{background:#fbf7ef;border-block:1px solid #eae3d8}
.journey-icon{border-color:#fbf7ef;margin-bottom:12px}.journey-step h3{margin:7px 0}.journey-step p{line-height:1.7}
.process-note{margin-top:23px;padding-top:16px;border-color:#ded8ce}
.about-panorama img{height:340px}
.about-strengths{background:#fff;color:#182c48;border:1px solid #e5ded2;border-top:4px solid #d82132}
.about-strengths article{padding:23px 25px;border-color:#e5ded2}
.about-strengths span{color:#bd1c2c}.about-strengths h3{color:#123b7c;font-size:1.3rem;margin:8px 0}
.about-strengths p{color:#526073;line-height:1.7}
.legal-facts{padding:18px 0;margin-bottom:22px;border-color:#ded8ce;gap:22px}
.legal-card{border-color:#ded8ce}.document-preview{background:#f1ede5;height:275px;padding:16px}
.document-caption{padding:18px 20px}.gallery-note{margin-top:17px}
.insurance{background:#fff;border:0}.insurance-points span{background:#fbf1dd}
.insurance-benefits>div{padding:16px 0}.insurance-benefits .insurance-note{margin-top:16px}
.contact-layout{gap:40px}.contact-form{border-color:#e2dacc;border-top-color:#d82132}.contact-details{margin-top:25px;gap:17px}
.intro{background:#fbf7ef;color:#123b7c;padding:38px 0 40px;border-bottom:3px solid #d82132}
.intro .eyebrow{color:#bd1c2c}.intro p{color:#526073}.intro:after{color:#e3d6c0;opacity:.25}
.workspace{padding-top:22px}.visa-group{border-color:#e1ded7;border-top-color:#d82132}
.footer-cta{background:#fbf7ef;color:#123b7c;padding:24px 0;border-top:1px solid #e6ded0}
.footer-cta span{color:#bd1c2c}.footer-cta .btn{background:#d82132;color:#fff}.footer-cta .btn:hover{background:#b61928}
.footer-grid{padding-top:38px;padding-bottom:32px}.footer-bottom{padding-top:18px;padding-bottom:18px}
@media(max-width:800px){.about-strengths article{border-bottom-color:#e5ded2}.journey-grid{padding-bottom:10px}}
@media(max-width:720px){
 .section{padding:40px 0}.section .section-title{font-size:1.85rem;line-height:1.35}
 .section-heading,.about-heading{margin-bottom:22px}.section-heading>p,.about-heading p{font-size:1rem}
 .hero{min-height:0}.hero .wrap{padding:60px 0 75px}.hero h1{margin:18px 0}
 .trust-item{padding-top:19px;padding-bottom:19px;border-bottom-color:#e3dbce}
 .about-panorama img{height:270px}.about-strengths article{padding:22px}
 .legal-facts{gap:17px}.document-preview{height:280px}.contact-layout{gap:25px}
 .intro{padding:30px 0 32px}.footer-cta .wrap{gap:16px}.footer-grid{padding-top:32px;padding-bottom:27px}
}
/* Editorial content and detailed intake flow. */
.contact-guide{font-size:1rem;line-height:1.8;color:var(--muted);max-width:450px}
.process-flow{display:grid;grid-template-columns:1fr 22px 1fr 22px 1fr 22px 1fr;align-items:stretch;gap:8px}
.flow-card{background:#fff;border:1px solid #ddd8cf;border-top:4px solid #123b7c;padding:21px 18px;display:flex;flex-direction:column;border-radius:3px}
.flow-number{font-size:1.35rem;font-weight:800;color:#c51d2e}.flow-card h3{font:600 1.25rem/1.4 'Noto Serif',serif;color:#123b7c;margin:8px 0 16px}
.flow-card h4{font-size:.875rem;line-height:1.5;margin:0 0 5px;color:#123b7c}.flow-card>div{margin-bottom:16px}.flow-card p{font-size:.94rem;line-height:1.7;margin:0;color:#526073}.flow-card .flow-result{border-top:1px solid #e5dfd6;padding-top:13px;margin-top:auto;color:#123b7c;font-weight:600;font-size:.875rem}
.flow-connector{display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:#c51d2e}
.flow-branches{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}.flow-branches>div{border-left:3px solid #d82132;background:#fff;padding:17px 20px}.flow-branches strong{font-size:1rem;color:#123b7c}.flow-branches p{font-size:.94rem;line-height:1.8;margin:9px 0 0;color:#526073}
.posts-section{border-top:1px solid #ece6db}.post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:24px}
.post-card{display:flex;flex-direction:column;padding:26px;background:#fff;border:1px solid #deded7;border-top:4px solid #123b7c;border-radius:3px}.post-card:hover{border-color:#c51d2e}.post-kind{color:#b61f2e;font-size:.875rem;font-weight:700;line-height:1.6}.post-card h3{font:600 1.4rem/1.45 'Noto Serif',serif;color:#123b7c;margin:12px 0}.post-card p{color:#526073;font-size:1rem;line-height:1.75;margin:0 0 20px}.post-read{margin-top:auto;font-size:.875rem;font-weight:700;color:#123b7c}
.posts-page{padding:44px 0 56px}.posts-page h1,.article-page h1{font:600 clamp(2rem,3.8vw,3rem)/1.3 'Noto Serif',serif;color:#123b7c;letter-spacing:-.025em;margin:14px 0 18px}.posts-page>p{max-width:740px;color:#526073}
.article-page{max-width:860px;padding-top:36px;padding-bottom:55px}.article-back{display:inline-block;margin-bottom:25px;color:#123b7c;font-size:.875rem;text-decoration:underline}.article-lead{font-size:1.15rem;line-height:1.75;color:#526073;border-bottom:1px solid #e3ddd4;padding-bottom:25px;margin-bottom:28px}.article-content section{margin:25px 0}.article-content h2{font:600 1.45rem/1.5 'Noto Serif',serif;color:#123b7c;margin:0 0 10px}.article-content p{font-size:1rem;line-height:1.9;margin:0;color:#33465f}.article-next{display:flex;flex-wrap:wrap;gap:13px;border-top:1px solid #e3ddd4;margin-top:32px;padding-top:25px}
@media(max-width:1050px){.process-flow{grid-template-columns:1fr 22px 1fr}.flow-connector:nth-child(4){grid-column:1/-1;transform:rotate(90deg);height:28px}.post-card{padding:20px}}
@media(max-width:720px){.process-flow{display:flex;flex-direction:column;gap:10px}.flow-connector{transform:rotate(90deg);height:20px}.flow-branches,.post-grid{grid-template-columns:1fr}.flow-card{padding:21px}.flow-card h3{margin-bottom:13px}.posts-page{padding-top:32px}.article-page{padding-top:28px}.post-card h3{font-size:1.35rem}}
/* Shared layout audit: consistent header, spacing and legal-document reading. */
.wrap{width:min(1180px,calc(100% - 44px))}
.header{position:sticky;top:0;z-index:20;background:#fff}
.header-inner{min-height:82px;gap:24px}.header .brand-logo{width:190px;height:auto;flex-shrink:0}
.header .nav{font-size:.94rem;line-height:1.5;gap:24px}.brand{flex-shrink:0}
.inner-page .header .nav{display:flex}.menu-button{display:none;border:0;background:transparent;color:#123b7c;font-size:1.6rem;min-width:44px;min-height:44px;cursor:pointer}
.section-heading>p,.about-heading p,.section-intro{max-width:840px}.section-title{overflow-wrap:break-word}
.contact-guide{margin:12px 0;line-height:1.75}.post-card h3{margin:10px 0 12px}.post-card p{margin-bottom:18px}
.legal-teaser{background:#fff;border-top:1px solid #e5dfd6;padding:27px 0}.legal-teaser>.wrap{display:flex;justify-content:space-between;align-items:center;gap:28px}.legal-teaser h2{font:600 1.35rem/1.4 'Noto Serif',serif;color:#123b7c;margin:0 0 7px}.legal-teaser p{font-size:.94rem;line-height:1.7;color:#526073;margin:0;max-width:720px}.legal-teaser .btn{flex-shrink:0;white-space:nowrap;color:#123b7c;border-color:#123b7c}
.legal-page{padding:32px 0 52px;background:#fbf7ef}.legal-page-heading{max-width:860px}.legal-page-heading .article-back{margin-bottom:20px}.legal-page h1{font:600 clamp(2rem,3.8vw,3rem)/1.3 'Noto Serif',serif;letter-spacing:-.025em;color:#123b7c;margin:10px 0 16px}.legal-page-heading>p{font-size:1rem;line-height:1.8;color:#526073;margin:0 0 25px}
.legal-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:34px;align-items:start}.legal-toc{position:sticky;top:106px;display:grid;gap:14px;padding:20px;background:#fff;border:1px solid #ded8ce}.legal-toc strong{font-size:1rem;color:#123b7c}.legal-toc a{font-size:.94rem;line-height:1.6;color:#123b7c;text-decoration:underline;text-underline-offset:3px}.legal-toc p{font-size:.875rem;color:#526073;line-height:1.75;margin:0}
.legal-document{margin-bottom:34px;scroll-margin-top:102px}.legal-document h2{font:600 1.5rem/1.4 'Noto Serif',serif;color:#123b7c;margin:0 0 8px}.legal-document>p{font-size:.94rem;line-height:1.6;color:#526073;margin:0 0 15px}
.document-full{display:block;width:100%;padding:0;border:1px solid #d8d8d2;background:#fff;cursor:zoom-in;border-radius:2px;text-align:center}.document-full img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain}.document-full span{display:block;background:#123b7c;color:#fff;padding:12px;font-size:.94rem;font-weight:700}.document-full:focus-visible{outline:3px solid #d82132;outline-offset:4px}
.site-footer .footer-logo{width:225px;height:auto;margin-bottom:20px}.footer-grid{gap:32px}.site-footer h3{margin-bottom:14px}.site-footer nav{gap:7px}
:focus-visible{outline:3px solid #d82132;outline-offset:3px}
@media(max-width:1050px){.header .nav{gap:16px;font-size:.875rem}.header .brand-logo{width:175px}.legal-layout{grid-template-columns:195px minmax(0,1fr);gap:22px}}
@media(max-width:1000px){.header-inner{min-height:76px}.menu-button{display:block}.header .nav,.inner-page .header .nav{display:none;position:absolute;top:76px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:14px 24px;background:#fff;border-bottom:1px solid #ded8ce}.header .nav.open,.inner-page .header .nav.open{display:flex}.header .nav a{padding:12px 0;font-size:1rem}.legal-toc{top:96px}}
@media(max-width:720px){.wrap{width:calc(100% - 32px)}.header .brand-logo{width:170px}.header-inner{min-height:72px}.header .nav,.inner-page .header .nav{top:72px}.legal-layout{grid-template-columns:1fr;gap:25px}.legal-toc{position:static;gap:11px}.legal-page{padding:26px 0 35px}.legal-document{scroll-margin-top:90px;margin-bottom:28px}.legal-teaser>.wrap{flex-direction:column;align-items:flex-start;gap:17px}.legal-teaser{padding:24px 0}.footer-grid{gap:28px}.article-page{max-width:860px}}
/* Compact process, image-led editorial cards and a single consultation workspace. */
.quick-process{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:23px;padding:0;margin:22px 0 5px}
.quick-process li{display:flex;gap:13px;align-items:flex-start;border-top:2px solid #ded8cc;padding-top:20px}.quick-process li>span{display:grid;place-items:center;flex-shrink:0;width:39px;height:39px;background:#123b7c;color:#fff;font-size:1rem;font-weight:800;border-radius:50%}
.quick-process h3{font:600 1.2rem/1.4 'Noto Serif',serif;color:#123b7c;margin:0 0 7px}.quick-process p{font-size:.94rem;color:#526073;line-height:1.7;margin:0}.process .process-note{font-size:.875rem;margin-top:20px}
.article-process{margin:28px 0}.article-process .process-flow{grid-template-columns:1fr 22px 1fr}.article-process .flow-connector:nth-child(4){grid-column:1/-1;transform:rotate(90deg);height:24px}.article-process .flow-branches{grid-template-columns:1fr}
.post-card{padding:0;border-top:0;overflow:hidden}.post-cover{display:block;width:100%;height:auto;aspect-ratio:1.6;object-fit:cover;background:#f5f1e8}.post-card>.post-kind{margin:19px 22px 0}.post-card>h3{margin:9px 22px 12px}.post-card>p{margin:0 22px 20px}.post-card>.post-read{display:block;margin: auto 22px 22px}.article-cover{display:block;width:100%;height:auto;aspect-ratio:1.9;object-fit:cover;margin:0 0 28px}
.company-page{padding-top:32px;padding-bottom:52px}.company-page h1{font:600 clamp(2rem,4vw,3.2rem)/1.25 'Noto Serif',serif;color:#123b7c;margin:13px 0}.company-lead{font-size:1.12rem;line-height:1.8;color:#526073;margin:0 0 25px}.company-copy{max-width:920px;margin:30px auto 0}.company-copy h2{font:600 1.65rem/1.4 'Noto Serif',serif;color:#123b7c;margin:28px 0 13px}.company-copy p{font-size:1rem;line-height:1.9;color:#33465f;margin:0 0 15px}.company-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.company-services article{border-top:3px solid #d82132;background:#fbf7ef;padding:22px}.company-services h3{font-size:1.1rem;line-height:1.6;color:#123b7c;margin:0 0 9px}.company-copy .company-source{font-size:.875rem;color:#667285;margin-top:22px}
.consultation-section{background:#fbf7ef;border-top:1px solid #e6dfd3}.consult-intro{margin-bottom:24px}.consult-intro>p{max-width:800px;color:#526073;font-size:1rem;line-height:1.75;margin:0}
.request-form{background:#fff;border:1px solid #dfd9ce;border-top:4px solid #123b7c;padding:30px;border-radius:4px}
.request-form fieldset{border:0;padding:0;margin:0;min-width:0}.request-form legend{font-size:1.08rem;font-weight:700;color:#123b7c;padding:0;margin:0 0 18px;line-height:1.6}.request-form legend>span{color:#c51d2e;margin-right:8px}
.service-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.service-choice{position:relative;cursor:pointer}.service-choice input{position:absolute;opacity:0;width:1px;height:1px}.service-choice span{display:flex;align-items:center;justify-content:center;min-height:64px;text-align:center;padding:12px 15px;border:1px solid #d8dfeb;border-radius:3px;color:#123b7c;font-size:.94rem;font-weight:700;line-height:1.5}.service-choice input:checked+span{background:#123b7c;color:#fff;border-color:#123b7c}.service-choice input:focus-visible+span{outline:3px solid #d82132;outline-offset:3px}
.request-columns{display:grid;grid-template-columns:1fr 1fr;gap:40px;border-top:1px solid #e8e2d8;margin-top:26px;padding-top:25px}.request-form .field{margin-bottom:15px}.request-form .field:last-child{margin-bottom:0}.request-form .field label{font-size:.94rem;line-height:1.5;margin-bottom:3px}.request-form .field input,.request-form .field select,.request-form .field textarea{font-size:1rem;min-height:48px;background:#fafbfD}.request-form .field textarea{min-height:108px;line-height:1.6}
.request-send{display:flex;align-items:center;justify-content:space-between;gap:30px;border-top:1px solid #e8e2d8;padding-top:23px;margin-top:26px}.request-send strong{font-size:1rem;color:#123b7c}.request-send p{font-size:.875rem;line-height:1.7;color:#526073;margin:7px 0 0;max-width:630px}.request-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;flex-shrink:0}.request-actions .btn{font-size:.94rem;padding:12px 18px}
@media(max-width:1000px){.quick-process{grid-template-columns:1fr 1fr}.request-actions{flex-shrink:1;min-width:190px}.service-options{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.quick-process{grid-template-columns:1fr;gap:15px}.quick-process li{padding-top:16px}.company-services{grid-template-columns:1fr}.company-page{padding-top:26px}.request-form{padding:22px 17px}.request-columns{grid-template-columns:1fr;gap:25px}.request-send{align-items:stretch;flex-direction:column;gap:17px}.request-actions{justify-content:flex-start}.service-choice span{padding:11px;font-size:.875rem}.article-process .flow-connector:nth-child(4){height:20px}.post-cover{aspect-ratio:1.65}}

/* Documentary photography and concise reception flow */
.hero .hero-bg{background-image:url('assets/autumn-kyoto.webp');background-position:center 54%}
.hero .hero-bg.hero-bg-second{background-image:url('assets/autumn-garden.webp');background-position:center 55%}
.visa-photo{background-position:center;background-size:cover}
.quick-process li{position:relative}.quick-process li:not(:last-child)::after{content:'→';position:absolute;right:-18px;top:25px;color:#bd8832;font-size:22px}
.process-timing{background:#fbf7ef;border-left:3px solid #c78a29;padding:20px 24px;margin-top:22px}.process-timing h2{font-size:1.25rem;margin:0 0 12px}.process-timing p{font-size:1rem;line-height:1.8;margin:8px 0}.photo-source{font-size:.82rem;line-height:1.7;color:#647084;margin-top:16px}
@media(max-width:1000px){.quick-process li:nth-child(2)::after{display:none}}
@media(max-width:720px){.quick-process li:not(:last-child)::after{display:none}.process-timing{padding:17px}}
