/* 官網提案共用品牌層；層級：頁首 10、跳至內容 20。 */
:root{--ink:#0d4d5e;--paper:#fff;--white:#fff;--muted:#52676b;--gold:#b49a64;--line:#ccd3cf;--wash:#f3f6f6;--body:17px;--small:13px;--h3:27px;--h2:clamp(32px,3.6vw,52px);--h1:clamp(40px,4.6vw,68px);--gutter:clamp(24px,5vw,88px);--section:clamp(72px,9vw,144px);--gap:32px;--font:"Source Han Sans TW","PingFang TC","Noto Sans TC",sans-serif;--latin:"Helvetica Neue",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:400 var(--body)/1.85 var(--font);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;width:100%;height:auto}figure,h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500;line-height:1.4}h1{font-size:var(--h1);letter-spacing:.035em}h2{font-size:var(--h2);letter-spacing:.04em}h3{font-size:var(--h3)}p{max-width:44em}a:focus-visible,summary:focus-visible,button:focus-visible{outline:3px solid var(--ink);outline-offset:5px}a:hover{text-decoration-thickness:1px}::selection{background:var(--ink);color:var(--white)}.wrap{max-width:1600px;margin:auto;padding-inline:var(--gutter)}.small{font-size:var(--small);color:var(--muted);line-height:1.7}.en{font-family:var(--latin);font-weight:400;letter-spacing:.015em}.muted{color:var(--muted)}.skip{position:absolute;top:8px;left:24px;transform:translateY(-150%);background:var(--white);padding:10px 20px;z-index:20}.skip:focus{transform:none}.site-header{position:relative;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:110px}.brand{display:flex;align-items:center;min-height:44px;flex:0 1 360px}.brand img{aspect-ratio:1654/236;object-fit:contain}.desktop-nav{display:flex;align-items:center;gap:30px;font-size:14px;white-space:nowrap}.desktop-nav a{display:inline-flex;align-items:center;min-height:44px;border-bottom:1px solid transparent}.desktop-nav a:hover{border-color:var(--ink)}.desktop-nav .nav-contact{border:1px solid var(--ink);padding:0 19px}.mobile-nav{display:none}.mobile-nav summary{cursor:pointer;min-width:48px;min-height:44px;display:flex;align-items:center;justify-content:center;font-size:14px;list-style:none}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav nav{position:absolute;top:90px;left:0;right:0;padding:20px var(--gutter);background:var(--paper);box-shadow:0 12px 16px #0d4d5e10;display:grid;grid-template-columns:1fr 1fr;gap:12px}.mobile-nav nav a{display:flex;align-items:center;min-height:48px;border-bottom:1px solid var(--line)}.button{display:inline-flex;justify-content:space-between;gap:36px;align-items:center;min-height:52px;padding:10px 22px;border:1px solid var(--ink);font-size:15px}.button.solid{background:var(--ink);color:var(--white)}.button:hover{background:var(--wash);color:var(--ink)}.arrow{width:23px;height:23px;flex:0 0 23px;stroke:currentColor;stroke-width:1.5;fill:none}.text-link{display:inline-flex;gap:22px;align-items:center;min-height:44px;border-bottom:1px solid var(--ink);font-size:15px}.hero-desc{max-width:26em;color:var(--muted);line-height:1.95}.hero-actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.caption{display:flex;justify-content:space-between;gap:16px;margin-top:12px;font-size:12px;color:var(--muted)}.section{padding-block:var(--section)}.section-top{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:48px}.section-top p{max-width:28em;color:var(--muted)}.section-subtitle{font:400 17px/1.5 var(--latin);margin-bottom:16px;color:var(--muted)}.intro-copy{max-width:36em}.services-list{border-top:1px solid var(--line)}.services-list details{border-bottom:1px solid var(--line)}.services-list summary{padding:27px 0;display:flex;gap:24px;justify-content:space-between;align-items:center;list-style:none;cursor:pointer}.services-list summary::-webkit-details-marker{display:none}.service-name{font-size:clamp(21px,2.2vw,30px);font-weight:500}.service-en{font:15px/1.6 var(--latin);color:var(--muted);margin-left:auto}.plus{font:300 26px/1 var(--latin);width:28px;text-align:center}.services-list details[open] .plus{transform:rotate(45deg)}.service-body{padding:0 0 28px;max-width:40em;color:var(--muted)}.service-body a{margin-top:16px;color:var(--ink)}.case-copy .small{margin-bottom:20px}.case-copy h3{font-size:clamp(28px,3vw,42px);margin-bottom:22px}.case-copy p{color:var(--muted)}.case-role{margin:26px 0;padding-left:18px;border-left:2px solid var(--gold)}.case-role span{display:block;font-size:13px;color:var(--muted);margin-bottom:6px}.case-detail{margin-top:24px}.case-detail summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:24px;font-size:15px}.case-detail p{padding:12px 0;font-size:15px}.case-image{background:var(--white);padding:clamp(20px,3vw,44px)}.case-image img{aspect-ratio:1.55;object-fit:contain}.people{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.person img{aspect-ratio:1;object-fit:cover}.person-info{padding:24px 0 0}.person-info h3{font-size:26px;letter-spacing:.14em}.person-info .role{font-size:14px;color:var(--muted);margin:7px 0 16px}.person-info .bio{font-size:15px;color:var(--muted);max-width:24em}.knowledge{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:40px}.knowledge article{border-top:1px solid var(--line);padding-top:24px}.knowledge h3{font-size:22px;margin-bottom:16px}.knowledge p{font-size:15px;color:var(--muted)}.knowledge details{margin-top:15px}.knowledge summary{font-size:14px;cursor:pointer;min-height:44px;padding-top:8px}.knowledge details p{padding:10px 0}.contact{background:var(--ink);color:var(--white);padding-block:80px}.contact-inner{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}.contact .section-subtitle,.contact .small{color:#d3e3e5}.contact h2{font-size:clamp(34px,3.4vw,48px)}.contact-details{padding-top:6px}.phone{font:400 clamp(29px,3.2vw,48px)/1.5 var(--latin);display:inline-flex;min-height:52px;letter-spacing:.01em}.contact .phone:hover{text-decoration:underline}.contact a:focus-visible{outline-color:var(--white)}.contact-address{font-size:15px;margin-top:16px}.contact .mail{display:inline-flex;align-items:center;min-height:44px;word-break:break-all;font-family:var(--latin);font-size:16px}.contact .small{margin-top:24px}.site-footer{padding-block:28px;display:flex;justify-content:space-between;gap:24px;align-items:center;font-size:12px;color:var(--muted)}.site-footer a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:4px}.proposal-note{border-top:1px solid var(--line);padding:20px var(--gutter);font-size:12px;color:var(--muted)}.proposal-note a{text-decoration:underline;text-underline-offset:4px;display:inline-block;min-height:44px;padding-block:10px}.proposal-switch{display:flex;gap:20px}.city-photo img{aspect-ratio:1.7;object-fit:cover}.city-photo figcaption a{text-decoration:underline;display:inline-flex;min-height:44px;align-items:center}.disclaimer{font-size:12px;color:var(--muted);margin-top:24px}.brand-note{margin:26px 0;color:var(--muted)}
@media(prefers-reduced-motion:no-preference){.hero-copy{animation:arrival .85s ease-out}.hero-picture{animation:arrival 1.15s ease-out}.button{transition:background .18s,color .18s}@keyframes arrival{from{opacity:.15;transform:translateY(14px)}to{opacity:1;transform:none}}}
@media(max-width:1100px){.desktop-nav{gap:18px}.brand{flex-basis:290px}.desktop-nav{font-size:13px}.people{gap:24px}}
@media(max-width:900px){.desktop-nav{display:none}.mobile-nav{display:block}.site-header{min-height:94px}.brand{flex-basis:350px;max-width:calc(100% - 76px)}.section-top{align-items:start;flex-direction:column;margin-bottom:32px}.service-en{display:none}.contact-inner{gap:40px}.knowledge{gap:20px}}
@media(max-width:600px){:root{--body:16px;--h1:40px;--gutter:24px}.site-header{min-height:88px;gap:12px}.brand{max-width:calc(100% - 58px)}.mobile-nav nav{top:88px}.people{grid-template-columns:1fr;gap:40px}.person{display:grid;grid-template-columns:42% 1fr;gap:20px;align-items:start}.person-info{padding:0}.person-info h3{font-size:23px}.person-info .bio{font-size:14px;line-height:1.8}.person-info .role{margin:5px 0 10px}.knowledge{grid-template-columns:1fr;gap:30px}.contact-inner{grid-template-columns:1fr;gap:32px}.contact{padding-block:64px}.site-footer{align-items:start;flex-direction:column;gap:8px}.caption{font-size:11px}.hero-actions{gap:16px}.service-name{font-size:21px}.case-image{padding:14px}.person img{aspect-ratio:3/4;object-position:center top}.section-top{gap:20px}}
@media(max-width:360px){:root{--gutter:20px;--h1:34px}.brand{max-width:calc(100% - 50px)}.person{grid-template-columns:1fr}.person img{aspect-ratio:1}.person-info{padding-top:0}.button{padding-inline:18px}.proposal-switch{flex-wrap:wrap}}
