@charset "UTF-8";
:root{--navy:#071b30;--ink:#14263c;--blue:#174bcc;--bright:#2867f0;--mint:#9ee8c1;--green:#206448;--muted:#5b6c7f;--line:#dce3eb;--wash:#f3f6fa;--gutter:clamp(22px,5.55vw,88px);--max:1320px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:#fff;color:var(--ink);font-family:"PingFang SC","Microsoft YaHei",Arial,sans-serif;font-size:1rem;line-height:1.8;-webkit-font-smoothing:antialiased}h1,h2,h3,p,figure{margin:0}h1,h2,h3{line-height:1.4;font-weight:650;letter-spacing:-.025em}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}img{display:block;width:100%;height:auto}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid #2b70df;outline-offset:5px}a:hover{color:var(--blue)}.container{width:min(calc(100% - var(--gutter)*2),var(--max));margin-inline:auto}.skip{position:fixed;z-index:100;top:-100px;left:20px;background:white;color:var(--blue);padding:10px 20px}.skip:focus{top:12px}.site-header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid #e7ecf1}.nav-shell{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:32px;width:min(calc(100% - var(--gutter)*2),var(--max));margin:auto}.brand{display:flex;flex-direction:column;flex-shrink:0;gap:1px}.brand-name{display:flex;align-items:center;position:relative;font-size:1.7rem;font-weight:750;letter-spacing:.035em;line-height:1.4;color:var(--navy)}.brand-name>span{font-weight:450}.brand-name i{width:7px;height:7px;transform:rotate(-20deg);background:#3aa781;display:inline-block;margin:14px 0 0 8px;border-radius:1px}.brand-line{font-size:.75rem;color:var(--muted);letter-spacing:.1em}.site-header nav{display:flex;gap:clamp(18px,2.15vw,32px);align-items:center}.site-header nav>a{font-size:.9375rem;position:relative;padding:28px 0;white-space:nowrap}.site-header nav>a[aria-current]{color:var(--blue);font-weight:600}.site-header nav>a[aria-current]::after{content:"";height:2px;position:absolute;left:0;right:0;bottom:18px;background:var(--blue)}.site-header nav .nav-contact{padding:9px 21px;border-radius:30px;background:var(--blue);color:#fff;min-height:44px;display:flex;align-items:center}.site-header nav .nav-contact:hover{background:#103ba9}.menu-button{display:none}.hero{position:relative;overflow:hidden;background:var(--navy);color:white;min-height:690px}.hero-content{position:relative;z-index:2;padding-top:90px;padding-bottom:37px;pointer-events:none}.hero-content>*{pointer-events:auto}.hero .eyebrow{color:#adbed2;font-size:.8125rem;margin-bottom:31px}.eyebrow{font-size:.8125rem;letter-spacing:.045em;display:flex;gap:18px;align-items:center;line-height:1.6;margin-bottom:20px;color:var(--muted)}.eyebrow>span{font-family:Arial,sans-serif;font-size:.75rem;font-weight:500;letter-spacing:.11em;color:var(--blue)}.hero .eyebrow>span{color:var(--mint);border:1px solid #38505b;border-radius:20px;padding:4px 12px}.hero h1{font-size:clamp(2.9rem,4.75vw,4.45rem);line-height:1.45;letter-spacing:-.055em;font-weight:650;max-width:780px}.hero h1 em{font-style:normal;color:var(--mint)}.hero-description{font-size:1.0625rem;line-height:1.95;color:#c5d2e0;margin-top:25px;max-width:520px}.actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:11px 26px;border:1px solid transparent;border-radius:32px;font-size:.9375rem;font-weight:550;transition:background .22s,color .22s,transform .22s}.button:hover{transform:translateY(-2px)}.button-light{background:#fff;color:var(--navy)}.button-light:hover{background:var(--mint);color:var(--navy)}.button-outline{border-color:#6c7d8e;color:#fff}.button-outline:hover{background:#24425e;color:white}.button-blue{background:var(--blue);color:white}.button-blue:hover{background:#103da5;color:white}.button-border{border-color:#b1bdcf;color:var(--ink)}.button-border:hover{background:var(--wash)}.hero-caption{display:flex;gap:36px;color:#a5b7ca;font-size:.75rem;margin-top:74px}.hero-caption span+span{border-left:1px solid #38516c;padding-left:36px}.hero-visual{position:absolute;inset:0 0 0 40%;overflow:hidden}.hero-art{height:100%;object-fit:cover;object-position:center;mask-image:linear-gradient(to right,transparent,#000 23%);opacity:.93}.visual-word{position:absolute;right:var(--gutter);bottom:36px;z-index:1;font-family:Arial,sans-serif;color:#a9c4d0;letter-spacing:.16em;font-size:.75rem;line-height:1.8;text-align:right}.home-path{border-bottom:1px solid var(--line)}.path-inner{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:98px}.path-inner>span{font-size:.8125rem;color:var(--muted);margin-right:40px}.path-inner>a{font-size:1rem;font-weight:550;white-space:nowrap}.path-inner>i{height:1px;flex:1;max-width:50px;background:#b8cbd6;position:relative}.path-inner>i::after{content:"";width:5px;height:5px;background:#89b6a3;border-radius:50%;position:absolute;right:0;top:-2px}footer{background:var(--navy);color:#bccbd8}.footer-main{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:70px;padding:75px 0 65px}.footer-main .brand-name{color:#fff}.footer-main .brand-line{color:#94aabd}.footer-brand>p{font-size:.9375rem;margin-top:26px;color:#b9cada}.footer-label{font-size:.75rem;letter-spacing:.05em;color:#97adbf;margin-bottom:20px}.footer-nav{display:grid;grid-template-columns:1fr 1fr;align-content:start;gap:10px 24px}.footer-nav .footer-label{grid-column:1/-1;margin-bottom:6px}.footer-nav>a{font-size:.875rem}.footer-nav>a:hover{color:var(--mint)}.footer-phone{font-size:1.65rem;color:white;line-height:1.4;font-family:Arial,sans-serif;display:inline-block;letter-spacing:.02em}.footer-phone:hover{color:var(--mint)}.footer-info>p:last-child{font-size:.875rem;margin-top:20px}.footer-bottom{border-top:1px solid #294055;padding:25px 0 30px;display:flex;justify-content:space-between;gap:30px;font-size:.75rem;color:#a4b7c8}.office-photo{min-width:0}.office-open{position:relative;border:0;padding:0;background:#dce4ec;width:100%;display:block;overflow:hidden;border-radius:5px}.office-open img{filter:brightness(1.12);aspect-ratio:1706/1279;object-fit:contain}.photo-expand{position:absolute;right:20px;bottom:20px;font-size:.8125rem;color:white;background:#071b30cc;padding:8px 17px;border-radius:24px}.office-photo figcaption{display:flex;justify-content:space-between;gap:20px;font-size:.75rem;color:var(--muted);padding:12px 0}.office-open:hover .photo-expand{background:var(--blue)}dialog{padding:18px;background:#fff;border:0;border-radius:8px;width:min(92vw,1080px);max-height:94dvh;overflow:auto;box-shadow:0 20px 100px #0004}dialog::backdrop{background:#04111de6;backdrop-filter:blur(7px)}dialog>img{max-height:78dvh;object-fit:contain}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px;font-size:.875rem}.dialog-close{border:0;background:var(--wash);border-radius:24px;padding:7px 18px;color:var(--ink);min-height:44px}
@media(max-width:1100px){.site-header nav{gap:16px}.site-header nav>a{font-size:.875rem}.site-header nav .nav-contact{padding:8px 16px}.hero{min-height:650px}.hero h1{font-size:3.45rem}.hero-content{padding-top:80px}.hero-caption{margin-top:65px}.path-inner>span{margin-right:20px}.footer-main{gap:40px}}
@media(max-width:900px){.nav-shell{min-height:78px;gap:20px}.site-header nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;background:#fff;padding:12px var(--gutter) 24px;border-bottom:1px solid var(--line);gap:0;max-height:calc(100dvh - 90px);overflow:auto}.site-header nav.is-open{display:flex}.site-header nav>a{padding:14px 0;font-size:1rem;border-bottom:1px solid var(--line)}.site-header nav>a[aria-current]::after{display:none}.site-header nav .nav-contact{align-self:flex-start;margin-top:18px;padding:11px 24px;border:0}.menu-button{display:flex;width:45px;height:45px;flex-direction:column;justify-content:center;gap:7px;align-items:center;background:transparent;border:1px solid var(--line);border-radius:50%}.menu-button>span{height:1.5px;width:20px;background:var(--ink);transition:transform .2s}.menu-button[aria-expanded=true]>span:first-child{transform:translateY(4.25px) rotate(45deg)}.menu-button[aria-expanded=true]>span:last-child{transform:translateY(-4.25px) rotate(-45deg)}.hero h1{font-size:3rem}.hero-visual{left:35%;opacity:.8}.hero-content{padding-top:70px}.hero-description{font-size:1rem}.path-inner{flex-wrap:wrap;gap:15px;padding-block:24px}.path-inner>span{width:100%}.path-inner>i{max-width:35px}.footer-main{grid-template-columns:1fr 1fr}.footer-info{grid-column:2}.footer-bottom{flex-direction:column;gap:10px}}
@media(max-width:600px){.brand-name{font-size:1.5rem}.brand-line{font-size:.75rem}.hero{min-height:0;padding-bottom:0}.hero-content{padding-top:43px;padding-bottom:30px}.hero .eyebrow{font-size:.75rem;gap:12px;margin-bottom:25px}.hero .eyebrow>span{padding:3px 9px;font-size:.75rem}.hero h1{font-size:clamp(2rem,8vw,2.5rem);line-height:1.5;letter-spacing:-.045em}.hero-description{font-size:1rem;margin-top:22px}.actions{gap:10px;margin-top:26px}.button{padding:10px 22px;font-size:.9375rem;min-height:50px}.hero-caption{margin-top:34px;gap:16px;font-size:.75rem;flex-wrap:wrap}.hero-caption span+span{padding-left:16px}.hero-visual{position:relative;inset:auto;height:290px;width:100%;opacity:1;order:2}.hero{display:flex;flex-direction:column}.hero-content{order:1}.hero-art{mask-image:linear-gradient(to bottom,transparent,#000 16%);object-position:center 48%}.visual-word{right:var(--gutter);bottom:20px;font-size:.75rem}.path-inner{padding-block:23px;gap:12px}.path-inner>span{font-size:.8125rem;margin-bottom:2px}.path-inner>a{font-size:.875rem}.path-inner>i{max-width:12px;min-width:4px}.footer-main{grid-template-columns:1fr;gap:40px;padding:50px 0 40px}.footer-info{grid-column:auto}.footer-nav{max-width:320px}.footer-phone{font-size:1.7rem}.footer-bottom{font-size:.75rem;padding:22px 0 28px}.photo-expand{right:12px;bottom:12px;padding:6px 12px}.office-photo figcaption{gap:10px;font-size:.75rem}.dialog-top{font-size:.8125rem}dialog{padding:12px}.dialog-close{padding:7px 15px}.nav-shell{flex-wrap:wrap}.brand{min-width:0}.brand-line{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
