@font-face{font-family:Nexawn Sans;src:url('/assets/nexawn-sans.woff2') format('woff2');font-weight:200 800;font-display:swap}
:root{--navy:#0d1721;--navy-light:#14232f;--ink:#14222d;--paper:#edf2f5;--white:#f7fafc;--muted:#b0bdc9;--blue:#83ceff;--line:#2c3c49;--green:#d2e5dc;--font:'Nexawn Sans',sans-serif;--space-1:8px;--space-2:16px;--space-3:24px;--space-4:32px;--space-5:48px;--space-6:64px;--space-7:96px;--space-8:128px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;background:var(--navy);color:var(--white);font:16px/1.65 var(--font);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #43a9ed;outline-offset:6px}h1,h2,h3,p{margin:0}h1,h2,h3{text-wrap:balance;font-weight:600}h1,h2{letter-spacing:-.035em}p{text-wrap:pretty}svg{display:block}a svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}section[id],article[id]{scroll-margin-top:96px}.container{width:min(1280px,calc(100% - 112px));margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:12px;left:12px;padding:12px 20px;z-index:100;background:var(--blue);color:var(--ink);transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}
.site-header{background:var(--navy);position:relative;z-index:20}.header-inner{min-height:100px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;gap:12px;font-size:25px;font-weight:650;letter-spacing:-.035em}.brand img{display:block}.primary-nav{display:flex;align-items:center;gap:36px;font-size:14px;font-weight:500}.primary-nav>a{min-height:44px;display:flex;align-items:center;transition:color .2s}.primary-nav>a:hover{color:var(--blue)}.nav-contact{gap:20px;border-bottom:1px solid #708494}.menu-toggle{display:none}
.hero-layout{display:grid;grid-template-columns:1.35fr 1fr;gap:32px;align-items:center;padding-block:104px 80px;min-height:630px}.hero h1{font-size:clamp(40px,4.65vw,68px);line-height:1.12;white-space:nowrap}.hero h1 span{color:var(--blue)}.hero-copy>p{max-width:500px;font-size:17px;color:var(--muted);margin-top:32px}.hero-actions{margin-top:40px;display:flex;gap:28px;align-items:center;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:15px 22px;min-height:54px;border-radius:4px;font-size:14px;font-weight:650;transition:background .2s,color .2s,transform .2s}.button-primary{background:var(--blue);color:var(--ink)}.button-primary:hover{background:#b4e2ff;transform:translateY(-2px)}.button-dark{background:var(--ink);color:var(--white)}.button-dark:hover{background:#2b4352;transform:translateY(-2px)}.text-link{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:550;min-height:44px}.text-link:hover{color:var(--blue)}.hero-bottom{border-top:1px solid var(--line);padding-block:23px;display:flex;justify-content:space-between;gap:24px;color:var(--muted);font-size:13px}
.portfolio-map{height:450px;position:relative;width:100%;max-width:480px;justify-self:end}.map-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.map-orbit{stroke:#203440;stroke-width:1}.map-orbit-outer{stroke-dasharray:3 8}.map-connector{stroke:#52829e;stroke-width:1;stroke-dasharray:6 6;animation:map-flow 36s linear infinite}.map-dot{fill:var(--blue)}.map-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:112px;height:112px;border-radius:20px;background:#192c3a;border:1px solid #385061;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px}.map-center strong{font-size:15px;font-weight:600}.map-website{position:absolute;display:flex;align-items:center;gap:14px;background:var(--navy-light);padding:16px 18px;border-radius:12px;border:1px solid #355066;box-shadow:0 14px 28px #030a1326;transition:border-color .25s,transform .25s}.map-website:hover{border-color:var(--blue);transform:translateY(-4px)}.map-website strong{font-size:17px;font-weight:600;display:block;line-height:1.4}.map-website small{display:block;white-space:nowrap;color:var(--muted);font-size:11px;margin-top:3px}.map-website>svg{width:15px;height:15px;margin-left:10px;color:var(--muted)}.map-realvco{top:35px;right:0;min-width:218px}.map-upoint{left:0;top:187px}.map-gto{bottom:37px;right:0;min-width:247px}.website-mark{width:38px;height:38px;display:grid;place-items:center;font-size:25px;font-weight:750;line-height:1;border-radius:9px}.mark-realvco{background:#bce0cf;color:#163a32}.mark-upoint{background:#b8d1f0;color:#243855}.mark-gto{background:#e1d2bb;color:#4d3b21}.map-caption{position:absolute;left:0;bottom:2px;color:#b0bdc9;font-size:12px}.portfolio-section{background:var(--paper);color:var(--ink);padding-block:var(--space-7)}.section-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:48px;margin-bottom:48px}.section-intro h2{font-size:46px;line-height:1.17}.section-intro>p{max-width:410px;font-size:15px;color:#526472;margin-bottom:4px}.product-row{display:grid;grid-template-columns:100px 1fr auto;align-items:center;gap:32px;padding-block:40px;border-bottom:1px solid #cbd5dd}.product-monogram{width:84px;height:84px;display:grid;place-items:center;border-radius:14px;font-size:45px;font-weight:700;position:relative;overflow:hidden}.upoint-monogram{background:#d0e0f0;color:#345e89}.upoint-monogram>span{position:absolute;width:8px;height:8px;background:#345e89;border-radius:50%;right:18px;bottom:15px}.gto-monogram{background:#e5ddcf;color:#675335}.gto-monogram>span{position:absolute;right:15px;top:15px;width:8px;height:8px;background:#675335;transform:rotate(45deg)}.product-row h3{font-size:29px;line-height:1.2;letter-spacing:-.02em}.product-row p{max-width:520px;color:#526472;font-size:14px;margin-top:10px}.product-category{display:block;font-size:11px;color:#526472;margin-top:14px}.product-inquiry{display:flex;align-items:center;gap:16px;white-space:nowrap;font-size:13px;font-weight:600;min-height:44px}.product-inquiry:hover{color:#1b689c}.about-section{padding-block:var(--space-7)}.about-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:80px}.about-layout h2{font-size:42px;line-height:1.2;max-width:580px}.about-layout h2 span{color:var(--blue)}.about-copy{max-width:500px}.about-copy p{font-size:15px;color:var(--muted);margin-top:22px}.about-copy .lead{margin-top:0;font-size:21px;line-height:1.5;color:var(--white)}.approach-section{background:var(--navy-light);padding-block:var(--space-7)}.approach-intro>p{color:var(--muted)}.approach-list{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;padding-top:12px}.approach-list article{border-top:1px solid #3c4f5d;padding-top:30px}.approach-list svg{width:40px;height:40px;fill:none;stroke:var(--blue);stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round;margin-bottom:30px}.approach-list h3{font-size:22px;line-height:1.3;letter-spacing:-.02em}.approach-list p{color:var(--muted);font-size:14px;max-width:330px;margin-top:14px}.contact-section{padding-block:var(--space-7);background:#142d3e}.contact-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:80px;align-items:center}.contact-layout h2{font-size:46px;line-height:1.17}.contact-layout p{font-size:15px;color:#c1d0db;margin-top:24px;max-width:540px}.contact-layout .button{margin-top:32px}.contact-email{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:clamp(18px,1.8vw,25px);letter-spacing:-.02em;border-bottom:1px solid #557083;padding-bottom:24px;overflow-wrap:anywhere}.contact-email:hover{color:var(--blue)}.contact-details dl{margin:24px 0 0;display:grid;gap:16px}.contact-details dl>div{display:grid;grid-template-columns:90px 1fr;gap:24px;font-size:13px}.contact-details dt{color:#b7c9d7}.contact-details dd{margin:0}.contact-details dd a:hover{text-decoration:underline}.site-footer{padding-top:36px}.footer-main{display:flex;align-items:center;justify-content:space-between;gap:32px;padding-bottom:36px}.footer-main .brand{font-size:22px}.footer-main p{font-size:13px;color:var(--muted)}.footer-main>a:last-child{display:flex;align-items:center;gap:10px;font-size:12px;min-height:44px}.footer-bottom{border-top:1px solid var(--line);padding-block:24px;display:flex;justify-content:space-between;gap:24px;font-size:11px;color:var(--muted)}
@keyframes map-flow{to{stroke-dashoffset:-240}}
@media(min-width:1600px){.hero-layout{padding-block:120px 100px}}
@media(max-width:1150px){.container{width:calc(100% - 80px)}.hero-layout{grid-template-columns:1.2fr 1fr;gap:16px;padding-block:80px 64px;min-height:560px}.hero h1{font-size:clamp(36px,4.6vw,52px)}.hero-copy>p{font-size:15px}.hero-actions{gap:16px}.hero-actions .button{padding-inline:16px;font-size:12px}.hero-actions .text-link{font-size:12px}.portfolio-map{height:390px}.map-website{padding:13px;gap:10px}.map-website strong{font-size:15px}.map-website small{font-size:10px}.map-realvco{min-width:180px;top:25px}.map-upoint{top:160px}.map-gto{min-width:205px;bottom:30px}.map-website>svg{margin-left:0}.map-center{width:96px;height:96px}.product-row{grid-template-columns:84px 1fr auto;gap:24px}.product-inquiry{gap:8px;font-size:12px}.about-layout,.contact-layout{gap:48px}.about-layout h2{font-size:36px}.section-intro h2,.contact-layout h2{font-size:40px}}
@media(max-width:850px){.container{width:calc(100% - 48px)}.primary-nav{gap:24px;font-size:12px}.hero-layout{grid-template-columns:1fr;padding-block:64px 36px;gap:48px}.hero h1{font-size:60px;white-space:normal}.hero-copy>p{font-size:17px;max-width:570px}.hero-actions .button,.hero-actions .text-link{font-size:14px}.portfolio-map{width:440px;height:390px;justify-self:center}.map-realvco{right:0}.map-upoint{left:0}.map-gto{right:10px}.hero-bottom{font-size:11px}.section-intro{gap:32px;align-items:flex-start}.section-intro>p{max-width:300px;font-size:13px}.section-intro h2{font-size:36px}.product-row{grid-template-columns:72px 1fr;gap:20px}.product-monogram{width:64px;height:64px;font-size:36px}.product-inquiry{grid-column:2;font-size:13px}.product-row h3{font-size:25px}.about-layout{grid-template-columns:1fr;gap:32px}.about-layout h2{font-size:40px;max-width:none}.about-copy{max-width:620px}.approach-list{gap:24px}.approach-list h3{font-size:19px}.approach-list p{font-size:13px}.contact-layout{grid-template-columns:1fr;gap:48px}.contact-details{max-width:600px}.contact-layout h2{font-size:44px}.contact-email{font-size:25px}}
@media(max-width:600px){html{scroll-padding-top:80px}section[id],article[id]{scroll-margin-top:32px}.container{width:calc(100% - 40px)}.header-inner{min-height:80px;flex-wrap:wrap}.brand{font-size:23px}.brand img{width:28px;height:28px}.menu-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:44px;height:44px;background:none;border:1px solid #3c4f5d;border-radius:4px;color:var(--white);cursor:pointer}.menu-toggle span{width:18px;height:1px;background:currentColor;transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.primary-nav{width:100%;display:none;flex-direction:column;align-items:stretch;gap:0;padding-block:12px 20px}.primary-nav.is-open{display:flex}.primary-nav>a{font-size:15px;padding:12px 0}.nav-contact{justify-content:space-between;border-bottom:0}.hero-layout{padding-block:52px 28px;gap:36px}.hero h1{font-size:clamp(31px,8.8vw,50px);line-height:1.17;letter-spacing:-.035em}.hero-copy>p{font-size:15px;margin-top:24px;max-width:430px}.hero-actions{margin-top:28px;gap:16px 24px}.hero-actions .button{font-size:12px;gap:16px}.hero-actions .text-link{font-size:12px}.portfolio-map{width:min(100%,360px);height:360px;max-width:100%}.map-website{padding:12px;gap:9px}.map-website small{font-size:9px}.map-website strong{font-size:14px}.website-mark{width:30px;height:30px;font-size:21px}.map-realvco{min-width:167px;top:22px}.map-upoint{top:149px}.map-gto{min-width:200px;right:0;bottom:35px}.map-center{width:86px;height:86px;left:54%;top:46%;border-radius:14px}.map-center img{width:38px;height:38px}.map-center strong{font-size:12px}.map-caption{font-size:10px;bottom:0}.hero-bottom{padding-block:20px;gap:8px;flex-direction:column;font-size:11px}.portfolio-section,.about-section,.approach-section,.contact-section{padding-block:64px}.section-intro{flex-direction:column;gap:20px;margin-bottom:32px}.section-intro h2{font-size:35px}.section-intro>p{font-size:14px;max-width:440px;margin-bottom:0}.product-row{padding-block:32px;gap:12px 20px;grid-template-columns:56px 1fr;align-items:start}.product-monogram{width:52px;height:52px;font-size:30px;border-radius:10px}.upoint-monogram>span{width:5px;height:5px;right:9px;bottom:9px}.gto-monogram>span{width:5px;height:5px;right:9px;top:9px}.product-row h3{font-size:24px}.product-row p{font-size:13px;margin-top:8px}.product-category{font-size:10px;margin-top:12px}.product-inquiry{font-size:12px}.about-layout{gap:28px}.about-layout h2{font-size:33px;line-height:1.23}.about-copy .lead{font-size:19px}.about-copy p{font-size:14px;margin-top:20px}.approach-list{grid-template-columns:1fr;gap:32px}.approach-list article{display:grid;grid-template-columns:40px 1fr;gap:12px 20px;padding-top:24px}.approach-list svg{margin:0;grid-row:span 2}.approach-list h3{font-size:21px}.approach-list p{grid-column:2;max-width:none;margin-top:0;font-size:14px}.contact-layout{gap:40px}.contact-layout h2{font-size:34px}.contact-layout p{font-size:14px;margin-top:20px}.desktop-break{display:none}.contact-email{font-size:21px;gap:8px;padding-bottom:20px}.contact-details dl>div{font-size:12px;grid-template-columns:70px 1fr;gap:20px}.contact-layout .button{margin-top:28px;font-size:12px}.footer-main{display:grid;grid-template-columns:1fr auto;gap:12px}.footer-main p{grid-column:1 / -1;grid-row:2;font-size:12px}.footer-main>a:last-child{font-size:11px}.footer-bottom{font-size:10px;flex-direction:column;gap:8px;padding-block:20px}}
@media(max-width:360px){.container{width:calc(100% - 32px)}.hero h1{font-size:30px}.hero-actions{gap:12px}.portfolio-map{height:340px}.map-website{padding:10px}.map-upoint{top:140px}.map-gto{bottom:30px}.map-website>svg{width:12px;height:12px}.contact-email{font-size:19px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* 使用者指定全站深底色，產品區延續各自的識別色。 */
.portfolio-section{background:var(--navy-light);color:var(--white)}
.section-intro>p{color:var(--muted)}
.product-row{border-color:#344956}
.product-row p,.product-category{color:var(--muted)}
.upoint-monogram{background:#20374b;color:#9fc9ee}
.upoint-monogram>span{background:#9fc9ee}
.gto-monogram{background:#38352e;color:#dbc6a3}
.gto-monogram>span{background:#dbc6a3}
.product-inquiry:hover{color:var(--blue)}
.map-center{left:15%}
.map-upoint{left:auto;right:0}
.partner-profile{display:flex;align-items:center;gap:18px}
.partner-avatar{display:block;position:static;width:64px;height:64px;object-fit:cover;border-radius:50%;background:#252b29;flex:none}
.profile-copy strong{display:block;font-size:18px;line-height:1.4;font-weight:600}
.profile-copy span{display:block;margin-top:4px;font-size:12px;color:#d0dcd9}
@media(max-width:850px){.partner-profile{gap:14px}.partner-avatar{width:56px;height:56px}.profile-copy strong{font-size:16px}.profile-copy span{font-size:11px}}
@media(max-width:600px){.partner-profile{flex-direction:column;align-items:flex-start;gap:12px}.partner-avatar{width:48px;height:48px}.profile-copy strong{font-size:15px}.profile-copy span{font-size:10px}}

/* 三個旗下網站共用同一套橫列規範，realvco 僅增加內容。 */
.portfolio-list{border-top:1px solid #344956}
.product-row{align-items:start}
.realvco-monogram{background:#203a34}
.realvco-monogram svg{width:66px;height:auto}
.product-partners{display:flex;flex-wrap:wrap;gap:20px 32px;margin-top:20px}
.product-partners .partner-profile{display:flex;flex-direction:row;align-items:center;gap:10px}
.product-partners .partner-avatar{width:36px;height:36px}
.product-partners .profile-copy strong{font-size:13px;line-height:1.4}
.product-partners .profile-copy span{font-size:11px;color:var(--muted)}
@media(max-width:850px){.realvco-monogram svg{width:50px}}
@media(max-width:600px){.realvco-monogram svg{width:40px}.product-partners{gap:16px 24px;margin-top:16px}}

/* 頁首持續留在頂端，錨點預留頁首高度，避免遮住標題。 */
:root{--header-height:100px}
.site-header{position:sticky;top:0}
html{scroll-padding-top:calc(var(--header-height) + 24px)}
section[id],article[id]{scroll-margin-top:0}
.partnership-topics{display:flex;flex-wrap:wrap;gap:10px 24px;padding:0;margin:24px 0 0;list-style:none;color:#c1d0db;font-size:12px}
.partnership-topics li{display:flex;align-items:center;gap:8px}
.partnership-topics li:before{content:'';width:4px;height:4px;background:var(--blue);border-radius:50%;flex:none}
@media(max-width:600px){:root{--header-height:80px}.partnership-topics{gap:10px 20px;font-size:11px}}
