:root{--red:#a61922;--red2:#82131b;--ink:#17191c;--muted:#6f7277;--cream:#f5f1ea;--line:#e4e0d9;--white:#fff;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:'Noto Sans SC',system-ui,sans-serif;background:#fff}a{color:inherit;text-decoration:none}button{font:inherit}.site-header{position:fixed;z-index:50;top:0;left:0;right:0;height:78px;padding:0 3.5%;display:flex;align-items:center;gap:30px;color:#fff;border-bottom:1px solid rgba(255,255,255,.2);transition:.35s}.site-header.scrolled{background:rgba(255,255,255,.96);color:var(--ink);box-shadow:0 10px 35px rgba(0,0,0,.07);backdrop-filter:blur(14px)}.brand{display:flex;align-items:center;gap:10px;min-width:175px}.brand-mark{width:39px;height:39px;display:grid;place-items:center;color:#fff;background:var(--red);font:600 26px/1 'Playfair Display',serif;border-radius:50% 50% 48% 45%;position:relative}.brand-mark:after{content:'';position:absolute;inset:-4px;border:1px solid currentColor;border-radius:50%}.brand b{display:block;font-size:18px;letter-spacing:.12em}.brand small{display:block;font-size:8px;letter-spacing:.24em;margin-top:2px;opacity:.7}.site-header nav{display:flex;align-items:center;justify-content:center;gap:25px;flex:1}.site-header nav a{font-size:13px;white-space:nowrap;opacity:.86;position:relative}.site-header nav a:after{content:'';position:absolute;left:50%;right:50%;bottom:-11px;height:2px;background:var(--red);transition:.25s}.site-header nav a:hover:after,.site-header nav a.active:after{left:0;right:0}.header-actions{display:flex;align-items:center;gap:14px}.lang{border:0;background:transparent;color:inherit;font-size:12px}.consult{padding:11px 19px;background:var(--red);font-size:13px;color:#fff}.menu-toggle{display:none}.hero{height:min(860px,100vh);min-height:690px;position:relative;background:url('assets/hero-changbai.png') center/cover no-repeat;color:#fff;display:flex;align-items:center}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,18,27,.77) 0%,rgba(12,21,29,.48) 37%,rgba(12,21,29,.05) 75%),linear-gradient(0deg,rgba(11,17,22,.5),transparent 40%)}.hero-copy{position:relative;z-index:2;width:var(--max);max-width:88%;margin:35px auto 0}.eyebrow,.kicker{font-size:11px;letter-spacing:.25em;font-weight:600;color:var(--red)}.eyebrow{color:#fff;display:flex;align-items:center;gap:12px}.eyebrow i{width:30px;height:1px;background:var(--red)}.hero h1{font-size:clamp(48px,5.4vw,78px);line-height:1.17;letter-spacing:.02em;margin:25px 0 23px;font-weight:500}.hero h1 em{font-style:normal;font-weight:700}.hero-copy p{font-size:17px;line-height:2;color:rgba(255,255,255,.83);letter-spacing:.1em}.hero-buttons{display:flex;gap:12px;margin-top:34px}.btn{display:inline-flex;align-items:center;gap:35px;padding:15px 22px;font-size:14px;transition:.25s}.btn.primary{background:var(--red)}.btn.primary:hover{background:var(--red2);transform:translateY(-2px)}.btn.glass{border:1px solid rgba(255,255,255,.55);backdrop-filter:blur(6px)}.hero-trust{position:absolute;right:5.5%;bottom:45px;z-index:2;display:flex;gap:0;background:rgba(17,23,30,.62);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.12)}.hero-trust div{padding:16px 25px;border-right:1px solid rgba(255,255,255,.16)}.hero-trust div:last-child{border:0}.hero-trust b,.hero-trust span{display:block}.hero-trust b{font-size:16px}.hero-trust span{font-size:10px;opacity:.65;margin-top:4px}.scroll{position:absolute;z-index:2;bottom:25px;left:50%;transform:translateX(-50%);font-size:9px;letter-spacing:.2em;opacity:.7;text-align:center}.scroll span{display:block;width:1px;height:35px;background:rgba(255,255,255,.7);margin:-48px auto 7px}.section{max-width:var(--max);margin:auto;padding:110px 0}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:48px}.section-head h2,.why-copy h2,.partner h2{font-size:40px;margin:9px 0 0;letter-spacing:.04em}.section-head>p{max-width:480px;color:var(--muted);font-size:14px;line-height:1.9;margin:0}.service-grid{display:grid;grid-template-columns:1.2fr .8fr 1fr 1fr;gap:14px}.service-card{min-height:390px;padding:35px 30px;background:var(--cream);position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start}.service-card>span{font:600 12px 'Playfair Display',serif;color:var(--red);margin-top:auto}.service-card h3{font-size:24px;margin:12px 0}.service-card p{font-size:13px;line-height:1.8;color:var(--muted);max-width:260px;margin:0}.service-card a{font-size:12px;margin-top:25px;border-bottom:1px solid;padding-bottom:4px}.service-card.featured{background:var(--red);color:#fff}.service-card.featured p{color:rgba(255,255,255,.7)}.service-card.featured>span{color:#fff}.line-icon{font-size:75px;font-weight:100;opacity:.65}.world-lines{position:absolute;width:300px;height:300px;border:1px solid rgba(255,255,255,.15);border-radius:50%;right:-140px;top:5px}.world-lines:before,.world-lines:after{content:'';position:absolute;inset:30px;border:1px solid rgba(255,255,255,.1);border-radius:50%}.world-lines:after{inset:70px}.service-card.photo{color:#fff;background-size:cover;background-position:center}.service-card.photo:before{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,16,20,.86),rgba(10,16,20,.05) 80%)}.service-card.photo>*{position:relative}.service-card.photo p{color:rgba(255,255,255,.75)}.service-card.camp{background-image:linear-gradient(135deg,#7896aa,#cbd8db)}.service-card.china{background-image:linear-gradient(135deg,#313c40,#b38e72)}.visas{padding-top:70px}.text-link{font-size:13px}.text-link span{color:var(--red);margin-left:10px}.visa-grid{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.visa-card{padding:30px 22px;border-right:1px solid var(--line);transition:.3s;position:relative}.visa-card:last-child{border:0}.visa-card:hover{background:var(--cream);transform:translateY(-6px)}.flag{width:48px;height:33px;display:grid;place-items:center;margin-bottom:35px;border:1px solid #ddd;background:#fff;font-size:16px}.flag.kr{color:#ca2731}.flag.jp{color:#b80f1b}.flag.us{background:linear-gradient(#b5262f 50%,#fff 50%);color:#244d75}.flag.ca{color:#b5262f}.flag.eu{background:#173b80;color:#f4cf49}.visa-card small{color:var(--red);font-size:10px}.visa-card h3{font-size:21px;margin:7px 0 1px}.visa-card>p{font:600 9px 'Playfair Display',serif;letter-spacing:.12em;color:#999;margin:0 0 28px}.visa-card ul{padding:0;list-style:none;font-size:12px;color:var(--muted);line-height:2}.visa-card li:before{content:'—';margin-right:8px;color:#bbb}.visa-card a{font-size:11px;display:flex;justify-content:space-between;margin-top:27px}.visa-card a span{color:var(--red)}.visa-note{font-size:11px;color:#999;margin-top:18px}.why{display:grid;grid-template-columns:1fr 1fr;min-height:670px;background:#171b20;color:#fff}.why-image{background:linear-gradient(180deg,transparent 55%,rgba(4,8,10,.85)),url('assets/hero-changbai.png') 64% center/cover;position:relative}.image-caption{position:absolute;left:7%;bottom:8%}.image-caption span{font-size:9px;letter-spacing:.2em;opacity:.6}.image-caption b{display:block;font-size:23px;line-height:1.55;margin-top:8px}.why-copy{padding:90px max(7%,calc((100vw - var(--max))/2));padding-right:7%;display:flex;flex-direction:column;justify-content:center}.kicker.light{color:#d7686f}.why-copy h2{margin-bottom:20px}.lead{font-size:14px;line-height:2;color:#a9adb1;max-width:530px}.reasons{display:grid;grid-template-columns:1fr 1fr;margin:25px 0 38px;border-top:1px solid #383d42}.reasons>div{min-height:135px;padding:25px 20px 20px 0;border-bottom:1px solid #383d42;display:flex;gap:14px;align-items:flex-start}.reasons>div:nth-child(odd){border-right:1px solid #383d42}.reasons>div:nth-child(even){padding-left:25px}.reasons b{font:600 38px 'Playfair Display',serif;color:#d7686f}.reasons span{font-size:10px;margin:20px 0 0 -10px}.reasons i{font-style:normal;color:#d7686f;font-size:27px}.reasons p{font-size:11px;line-height:1.8;color:#92979c;margin:0}.reasons strong{font-size:14px;color:#fff}.btn.outline{border:1px solid #555b60;align-self:flex-start}.proof{padding-bottom:130px}.centered{display:block;text-align:center}.centered>p{margin:17px auto 0}.proof-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.document-card{min-height:260px;border:1px solid var(--line);padding:30px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:.25s}.document-card:hover{box-shadow:0 18px 45px rgba(0,0,0,.08)}.doc-icon{width:58px;height:72px;background:var(--cream);display:grid;place-items:center;color:var(--red);font:600 20px serif;border:1px solid #ded8ce;margin-bottom:18px}.document-card small,.team-card>div>span{font-size:8px;letter-spacing:.16em;color:#999}.document-card h3{font-size:17px;margin:8px 0}.document-card p{font-size:10px;color:#aaa}.team-card{grid-column:1/-1;display:grid;grid-template-columns:1.3fr 1fr;background:var(--cream);min-height:350px;margin-top:5px}.team-placeholder{background:linear-gradient(135deg,#c4c0b9,#8d8d8a);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center}.team-placeholder span{font-size:21px}.team-placeholder small{margin-top:8px;opacity:.7}.team-card>div:last-child{padding:60px;display:flex;flex-direction:column;justify-content:center}.team-card h3{font-size:28px;margin:10px 0}.team-card p{font-size:13px;color:var(--muted);line-height:2}.partner{min-height:440px;background:linear-gradient(120deg,rgba(110,14,20,.96),rgba(139,21,29,.92)),url('assets/hero-changbai.png') center/cover;color:#fff;position:relative;display:flex;align-items:center;overflow:hidden}.partner-inner{width:var(--max);max-width:88%;margin:auto}.partner h2{font-size:43px;margin:12px 0 18px}.partner p{max-width:560px;color:rgba(255,255,255,.72);line-height:2;font-size:14px}.btn.white{background:#fff;color:var(--red);margin-top:18px}.partner-stamp{position:absolute;right:9%;width:170px;height:170px;border:1px solid rgba(255,255,255,.3);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-9deg)}.partner-stamp:after{content:'';position:absolute;inset:9px;border:1px dashed rgba(255,255,255,.3);border-radius:50%}.partner-stamp b{font-size:35px}.partner-stamp span{font-size:8px;letter-spacing:.3em}footer{background:#121518;color:#fff}.footer-top{max-width:var(--max);margin:auto;padding:80px 0 60px;display:grid;grid-template-columns:1.1fr .8fr 1.15fr;gap:80px}.brand.dark .brand-mark{color:#fff}.footer-brand p{color:#777e83;font-size:12px;line-height:2;max-width:310px;margin-top:25px}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:45px}.footer-links h4{font-size:13px;margin:0 0 22px}.footer-links a{display:block;font-size:11px;color:#7f858a;margin:13px 0}.contact-box{border-left:1px solid #303438;padding-left:45px}.contact-box>span{font-size:8px;letter-spacing:.25em;color:#777}.contact-box h3{font-size:24px;margin:11px 0}.contact-box p{font-size:11px;color:#777}.contact-box div{margin-top:22px;display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#313438}.contact-box a,.contact-box button{padding:12px 14px;background:#1c2024;color:#fff;border:0;text-align:left;font-size:10px}.contact-box b{display:block;color:#777;margin-top:4px}.contact-box button{grid-column:1/-1;cursor:pointer}.footer-bottom{border-top:1px solid #2a2d30;padding:18px max(3%,calc((100vw - var(--max))/2));display:flex;justify-content:space-between;color:#666;font-size:9px}.modal{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.72);display:none;place-items:center}.modal.open{display:grid}.modal-card{background:#fff;padding:38px;text-align:center;position:relative;min-width:300px}.close{position:absolute;right:10px;top:8px;border:0;background:0;font-size:22px}.qr{width:150px;height:150px;background:repeating-linear-gradient(45deg,#eee,#eee 5px,#ddd 5px,#ddd 10px);display:grid;place-items:center;margin:auto;font-size:12px}.modal-card h3{margin-bottom:4px}.modal-card p{font-size:11px;color:#888}.reveal{opacity:0;transform:translateY(20px);transition:.7s}.reveal.visible{opacity:1;transform:none}
@media(max-width:1100px){.site-header nav{display:none}.menu-toggle{display:block;margin-left:auto;border:0;background:transparent;width:32px}.menu-toggle span{display:block;height:1px;background:currentColor;margin:7px}.site-header.open nav{display:flex;position:absolute;top:78px;left:0;right:0;background:#fff;color:var(--ink);flex-direction:column;align-items:flex-start;padding:25px 5%;gap:20px}.service-grid{grid-template-columns:1fr 1fr}.visa-grid{grid-template-columns:repeat(3,1fr)}.visa-card:nth-child(3){border-right:0}.section{max-width:90%}.footer-top{max-width:90%;grid-template-columns:1fr 1fr}.contact-box{grid-column:1/-1}.partner-stamp{opacity:.35}}@media(max-width:720px){.site-header{height:68px;padding:0 5%}.header-actions{display:none}.brand b{font-size:16px}.hero{min-height:720px}.hero-copy{max-width:90%;margin-top:0}.hero h1{font-size:44px}.hero-copy p{font-size:14px}.hero-trust{left:5%;right:5%;bottom:62px}.hero-trust div{flex:1;padding:13px 10px}.hero-trust b{font-size:12px}.hero-trust span{font-size:8px}.scroll{display:none}.section{padding:80px 0}.section-head{display:block}.section-head>p{margin-top:18px}.section-head h2,.why-copy h2,.partner h2{font-size:32px}.service-grid{grid-template-columns:1fr}.service-card{min-height:330px}.visa-grid{grid-template-columns:1fr 1fr}.visa-card:nth-child(2n){border-right:0}.visa-card:nth-child(3){border-right:1px solid var(--line)}.why{grid-template-columns:1fr}.why-image{min-height:430px}.why-copy{padding:70px 7%}.reasons{grid-template-columns:1fr}.reasons>div:nth-child(odd){border-right:0}.reasons>div:nth-child(even){padding-left:0}.proof-grid{grid-template-columns:1fr}.team-card{display:block}.team-placeholder{min-height:260px}.team-card>div:last-child{padding:35px}.partner{min-height:480px}.partner-stamp{right:-45px;top:30px}.footer-top{grid-template-columns:1fr;gap:45px;padding-top:60px}.contact-box{padding:30px 0 0;border-left:0;border-top:1px solid #303438}.footer-bottom{display:block;line-height:2}}

/* Official brand and credential assets */
.official-mark{width:49px;height:49px;flex:0 0 49px;border-radius:50%;background:#fff url('assets/hansha-logo.jpg') 50% 30%/185% auto no-repeat;box-shadow:0 0 0 1px rgba(255,255,255,.35)}
.site-header.scrolled .official-mark,footer .official-mark{box-shadow:0 0 0 1px rgba(166,25,34,.18)}
.official-brand b{letter-spacing:.11em}.official-brand small{letter-spacing:.2em}
.footer-brand address{font-style:normal;color:#777e83;font-size:11px;line-height:1.9;margin-top:14px}
.document-card.credential{padding:16px 16px 25px;justify-content:flex-start}
.credential-image{width:100%;height:180px;background:#f3f0e9;overflow:hidden;margin-bottom:20px}
.credential-image img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;filter:saturate(.82);transition:.35s}
.document-card.credential:hover img{transform:scale(1.025);filter:saturate(1)}
@media(max-width:720px){.official-mark{width:42px;height:42px;flex-basis:42px}.official-brand{min-width:160px}}

/* Real office and team photography */
.team-photo{overflow:hidden;min-height:350px}.team-photo img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transition:.5s}.team-card:hover .team-photo img{transform:scale(1.02)}
.honor-image img{object-position:center 48%}
.office-gallery{grid-column:1/-1;display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:16px;margin-top:2px}
.office-gallery figure{height:310px;margin:0;position:relative;overflow:hidden;background:#ddd}
.office-gallery figure img{width:100%;height:100%;object-fit:cover;display:block;transition:.45s}
.office-gallery figure:nth-child(2) img{object-position:center 45%}.office-gallery figure:nth-child(3) img{object-position:center 54%}
.office-gallery figure:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(9,13,16,.78))}
.office-gallery figure:hover img{transform:scale(1.025)}
.office-gallery figcaption{position:absolute;z-index:1;left:24px;bottom:20px;color:#fff}
.office-gallery figcaption b,.office-gallery figcaption span{display:block}.office-gallery figcaption b{font-size:15px}.office-gallery figcaption span{font-size:9px;letter-spacing:.08em;margin-top:4px;color:rgba(255,255,255,.7)}
.office-en{padding-top:100px;padding-bottom:110px}
.proof-grid{grid-template-columns:repeat(4,1fr)}
.authorization-image img{object-position:center 46%}
@media(max-width:1100px){.proof-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.office-gallery{grid-template-columns:1fr 1fr}.office-gallery .wide{grid-column:1/-1}.office-gallery figure{height:280px}.team-photo{min-height:300px}}
@media(max-width:720px){.proof-grid{grid-template-columns:1fr}}

/* Company updates */
.news-home{padding-top:95px}.news-intro{text-align:right}.news-intro p{font-size:12px;color:#85898d;margin:0 0 12px}.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.news-card{border:1px solid var(--line);background:#fff}.news-image{display:block;height:235px;position:relative;overflow:hidden}.news-image img{width:100%;height:100%;object-fit:cover;display:block;transition:.45s}.news-image:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(0,0,0,.35))}.news-image>span{position:absolute;z-index:1;right:18px;bottom:14px;color:#fff;font:600 15px 'Playfair Display'}.news-card:hover .news-image img{transform:scale(1.025)}.news-copy{padding:25px 24px 28px}.news-copy>div{display:flex;justify-content:space-between;font-size:9px;color:#aaa}.news-copy>div span{color:var(--red);letter-spacing:.08em}.news-copy h3{font-size:18px;line-height:1.5;margin:13px 0 9px}.news-copy p{font-size:11px;line-height:1.8;color:#85898d;min-height:58px}.news-more{font-size:10px;display:inline-block;margin-top:14px;border-bottom:1px solid #bbb;padding-bottom:4px}@media(max-width:900px){.news-grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.news-grid{grid-template-columns:1fr}.news-intro{text-align:left;margin-top:15px}.news-image{height:250px}}

/* Business visa feature */
.business-service{margin-top:16px;min-height:230px;background:#191d21;color:#fff;padding:38px 42px;display:grid;grid-template-columns:140px 1.2fr .8fr auto;gap:42px;align-items:center}.business-service-label{height:140px;border:1px solid #42474c;display:flex;flex-direction:column;align-items:center;justify-content:center}.business-service-label span{font-size:7px;letter-spacing:.18em;color:#8e9499}.business-service-label b{font:500 54px serif;color:#c95c64}.business-service h3{font-size:26px;margin:9px 0}.business-service p{font-size:12px;line-height:1.9;color:#989ea2;margin:0}.business-service ul{list-style:none;padding:0;margin:0;color:#bcc0c3;font-size:11px;line-height:2.2}.business-service li:before{content:'—';color:#c95c64;margin-right:8px}.business-service .btn{white-space:nowrap}@media(max-width:950px){.business-service{grid-template-columns:110px 1fr}.business-service ul,.business-service .btn{grid-column:2}}@media(max-width:620px){.business-service{grid-template-columns:1fr;padding:30px 25px;gap:22px}.business-service-label{width:110px}.business-service ul,.business-service .btn{grid-column:auto}.business-service .btn{justify-content:center}}
@media(max-width:520px){.office-gallery{grid-template-columns:1fr}.office-gallery .wide{grid-column:auto}.office-gallery figure{height:260px}}
