:root{--site-accent:#6e8f86}
@keyframes floatUp{from{transform:translateY(0) scale(1.02)}to{transform:translateY(-16px) scale(1.05)}}
@keyframes slowZoom{from{transform:scale(1)}to{transform:scale(1.1)}}
@keyframes driftX{from{transform:translateX(-1.5%) scale(1.04)}to{transform:translateX(1.5%) scale(1.04)}}
@keyframes softFocus{from{filter:saturate(.85) contrast(.96)}to{filter:saturate(1.08) contrast(1.05)}}
@keyframes rise{from{transform:translateY(10px) scale(1.03)}to{transform:translateY(-10px) scale(1.07)}}
@keyframes breath{0%,100%{transform:scale(1.02)}50%{transform:scale(1.06)}}
@keyframes pan{from{transform:scale(1.04) translateX(-2%)}to{transform:scale(1.08) translateX(2%)}}
.hero img,.hero-media img,.sub-image img{animation:driftX 14s ease-in-out infinite alternate}
.top a:hover,.nav a:hover{color:var(--site-accent)}
.reveal{transition-delay:calc(var(--reveal-order, 0) * 80ms)}

/* 03-law-firm has its own editorial geometry. */
.subpage .sub-head{grid-template-columns:0.86fr 1.14fr;gap:6.3vw}
.subpage .sub-image{border-radius:36px;aspect-ratio:1.35;height:auto;min-height:300px}
.subpage .sub-card{min-height:278px;border-top:2px double color-mix(in srgb,var(--site-accent) 58%,transparent);letter-spacing:0.022em}
.subpage .sub-card:nth-child(2){transform:translateY(16px)}
.subpage .sub-card:hover{border-color:var(--site-accent);transform:translateY(-6px)}

:focus-visible{outline:2px solid var(--site-accent);outline-offset:4px}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}

/* final responsive guardrails */
html{overflow-x:hidden}.subpage{overflow-x:hidden}.subpage .top{min-height:64px}.subpage .top nav{display:flex;align-items:center;flex-wrap:wrap;gap:clamp(10px,2vw,26px)}.subpage .top nav a{white-space:nowrap}.subpage h1{overflow-wrap:anywhere}.subpage .sub-image img{display:block}.subpage .sub-form input,.subpage .sub-form textarea{width:100%;min-width:0}.subpage button{min-height:44px}
@media(max-width:700px){.subpage .top{padding:16px 20px;align-items:flex-start}.subpage .top .brand{max-width:45vw}.subpage .top .logo-img{max-width:100%;height:auto}.subpage .top nav{width:100%;justify-content:flex-start;gap:8px 14px;margin-top:12px}.subpage .top nav a{font-size:12px}.subpage .sub-head{padding-top:92px}.subpage h1{font-size:clamp(42px,13vw,70px);letter-spacing:-.04em}.subpage .sub-image{min-height:220px;aspect-ratio:1.25}.subpage .sub-card{min-height:0!important}.subpage .sub-card:nth-child(2){transform:none}.subpage .sub-card:hover{transform:none}.subpage .sub-detail li{min-width:0}.subpage .sub-detail span,.subpage .sub-detail small{overflow-wrap:anywhere}}

@keyframes page-entry-2{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:none}}
.subpage main{animation:page-entry-2s cubic-bezier(.2,.7,.2,1) both}
.subpage .sub-card{animation:page-entry-2s 0.12s cubic-bezier(.2,.7,.2,1) both}
.subpage .sub-detail li{transition:background .35s,padding-left .35s}
.subpage .sub-detail li:hover{background:color-mix(in srgb,var(--site-accent) 8%,transparent);padding-left:12px}

.site-proof{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,80px);padding:clamp(70px,10vw,150px) 8vw;background:color-mix(in srgb,var(--site-accent) 7%,transparent);align-items:start}.site-proof h2{font-size:clamp(30px,4.5vw,72px);line-height:1.08;font-weight:500;max-width:600px;margin:12px 0 32px}.proof-copy a{color:var(--site-accent);font-weight:700}.proof-image{grid-column:2;grid-row:1 / span 2;aspect-ratio:1.10;overflow:hidden}.proof-image img{width:100%;height:100%;object-fit:cover;transition:transform .8s}.proof-image:hover img{transform:scale(1.07)}.proof-cards{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid color-mix(in srgb,var(--site-accent) 40%,transparent)}.proof-cards article{padding:24px;border-right:1px solid color-mix(in srgb,var(--site-accent) 28%,transparent)}.proof-cards article:last-child{border-right:0}.proof-cards b{color:var(--site-accent)}.proof-cards h3{margin:24px 0 8px}.proof-cards p{font-size:14px;line-height:1.8;opacity:.7}@media(max-width:700px){.site-proof{grid-template-columns:1fr;padding:70px 25px}.proof-image{grid-column:auto;grid-row:auto;aspect-ratio:1.2}.proof-cards{grid-template-columns:1fr}.proof-cards article{border-right:0;border-bottom:1px solid color-mix(in srgb,var(--site-accent) 28%,transparent)}}

.process-steps{margin:0 8vw 110px;padding:50px 0;border-top:1px solid color-mix(in srgb,var(--site-accent) 45%,transparent)}.process-steps h2{font-size:clamp(30px,4vw,64px);font-weight:500;margin:12px 0 42px}.process-steps ol{padding:0;margin:0;list-style:none}.process-steps li{display:grid;grid-template-columns:70px 1fr 1fr;gap:22px;padding:18px 0;border-bottom:1px solid color-mix(in srgb,var(--site-accent) 24%,transparent)}.process-steps li b{color:var(--site-accent)}.process-steps li strong{font-size:20px}.process-steps li span{opacity:.65}@media(max-width:700px){.process-steps{margin:0 25px 70px}.process-steps li{grid-template-columns:42px 1fr;gap:10px}.process-steps li span{grid-column:2}}

.sub-footer{display:grid;grid-template-columns:1fr auto auto;gap:30px;align-items:center;padding:36px 8vw;border-top:1px solid color-mix(in srgb,var(--site-accent) 35%,transparent)}.sub-footer div{display:grid;gap:6px}.sub-footer strong{font-size:18px}.sub-footer span{font-size:12px;opacity:.6}.sub-footer nav{display:flex;gap:18px;flex-wrap:wrap}.sub-footer nav a,.sub-footer-cta{color:inherit;font-size:13px}.sub-footer-cta{color:var(--site-accent);font-weight:700}@media(max-width:700px){.sub-footer{grid-template-columns:1fr;padding:30px 25px}.sub-footer nav{order:3}}

.subpage .top nav a[aria-current="page"]{color:var(--site-accent);position:relative}.subpage .top nav a[aria-current="page"]::after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:2px;background:var(--site-accent);transform-origin:left;animation:navMark .45s ease both}@keyframes navMark{from{transform:scaleX(0)}to{transform:scaleX(1)}}

/* visual review: bring the editorial content into the first viewport */
.subpage .sub-head{padding-top:108px!important}
@media(max-width:700px){.subpage .sub-head{padding-top:78px!important}}

/* visual review: align copy and image to the same editorial start line */
.subpage .sub-head{align-items:start!important}.subpage .sub-head>div:first-child{padding-top:22px}.subpage .sub-head h1{margin-top:16px}
@media(max-width:700px){.subpage .sub-head>div:first-child{padding-top:0}}

/* law: split consultation layout */
.law-column .hero{grid-template-columns:220px .9fr 1.2fr!important;min-height:calc(100svh - 74px);padding-top:104px!important}.law-column .hero-image{height:64vh!important;min-height:410px!important;overflow:hidden}.law-column .hero-image img{animation:lawReveal 1.2s ease both}@keyframes lawReveal{from{opacity:0;clip-path:inset(0 100% 0 0)}to{opacity:1;clip-path:inset(0)}}.law-column .case-index .card{border-left:4px solid var(--tone);border-right:0;border-top:0;border-bottom:1px solid var(--line);background:transparent}

/* composition pass: legal editorial */
.law-column .top{background:transparent;border:0}.law-column .top nav{border-left:1px solid var(--line);padding-left:24px}.law-column section:not(.hero){max-width:1180px;margin:auto}.law-column .article-columns{display:grid;grid-template-columns:1fr 1fr;gap:100px;border-top:5px solid var(--ink);padding-top:28px}.law-column .briefs{grid-template-columns:1.2fr .8fr .8fr}.law-column .contact{background:var(--ink);color:var(--paper);border:0}
.gecic-inspired{--law-ink:#17222a;--law-paper:#f1eee7;--law-accent:#b89555;background:var(--law-paper);color:var(--law-ink);font-family:"Noto Sans TC",system-ui,sans-serif}.gecic-inspired .top{background:rgba(241,238,231,.88);border-bottom:1px solid rgba(23,34,42,.16)}.gecic-inspired .top nav a{font-size:12px;letter-spacing:.06em}.gecic-inspired main{padding-top:74px}.gecic-inspired .eyebrow{margin:0;color:var(--law-accent);font-size:11px;font-weight:800;letter-spacing:.18em}.gecic-inspired h1,.gecic-inspired h2,.gecic-inspired h3{letter-spacing:-.045em}.gecic-inspired em{font-style:normal;color:var(--law-accent)}.global-hero{min-height:calc(100svh - 74px);padding:clamp(28px,5vw,72px) clamp(22px,6vw,90px) 50px;display:grid;grid-template-columns:1fr minmax(280px,470px);grid-template-rows:auto 1fr auto;gap:28px 7vw;position:relative}.hero-meta{grid-column:1/-1;display:flex;justify-content:space-between;color:#17222aaa;font-size:11px;letter-spacing:.1em}.hero-title{align-self:center;max-width:680px}.hero-title h1{font-size:clamp(48px,8vw,112px);line-height:.94;margin:18px 0 30px}.hero-lede{max-width:420px;font-size:16px;line-height:1.9}.hero-cta{display:inline-flex;align-items:center;gap:24px;background:var(--law-ink);color:var(--law-paper);padding:15px 20px;text-decoration:none;font-size:13px;font-weight:800;margin-top:16px}.hero-cta b{font-size:20px;font-weight:400}.global-hero .hero-image{height:min(70vh,690px);overflow:hidden}.global-hero .hero-image img{filter:saturate(.72);transition:transform 1s}.global-hero .hero-image:hover img{transform:scale(1.05)}.hero-scroll{grid-column:1/-1;display:flex;gap:16px;align-items:center;font-size:10px;letter-spacing:.16em;color:#17222a99}.hero-scroll i{display:block;width:70px;height:1px;background:var(--law-accent)}.statement-block,.practice-section,.insight-section,.people-section{padding:clamp(85px,12vw,180px) clamp(22px,10vw,150px);border-top:1px solid rgba(23,34,42,.16)}.statement-block{display:grid;grid-template-columns:.5fr 1.5fr;gap:8vw}.statement-block h2,.section-head h2,.insight-copy h2,.people-section h2,.contact-band h2{font-size:clamp(40px,6vw,84px);line-height:.98;margin:0 0 30px}.statement-block p:not(.eyebrow),.section-head>p,.insight-copy>p{max-width:520px;line-height:1.9;color:#17222ab8}.text-link{display:inline-block;color:var(--law-ink);font-size:13px;font-weight:800;text-decoration:none;border-bottom:1px solid var(--law-accent);padding-bottom:8px;margin-top:14px}.section-head{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:end;margin-bottom:60px}.practice-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid rgba(23,34,42,.25)}.practice-grid a{position:relative;min-height:230px;padding:28px 30px 25px;border-bottom:1px solid rgba(23,34,42,.25);text-decoration:none;color:inherit;transition:background .3s}.practice-grid a:nth-child(odd){border-right:1px solid rgba(23,34,42,.25)}.practice-grid a:hover{background:#e7e0d2}.practice-grid b{color:var(--law-accent);font:18px Georgia}.practice-grid h3{font-size:clamp(22px,3vw,38px);margin:55px 0 8px}.practice-grid span{font:11px Arial;letter-spacing:.12em;color:#17222a8c}.practice-grid i{position:absolute;right:30px;bottom:25px;font-size:25px;font-style:normal}.insight-section{display:grid;grid-template-columns:1.15fr .85fr;gap:9vw;align-items:center;background:#e7e0d2}.insight-image{height:min(70vh,650px);overflow:hidden}.insight-copy{max-width:530px}.people-section{display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:center}.people-photo{height:540px;overflow:hidden}.contact-band{padding:clamp(90px,12vw,170px) clamp(22px,10vw,150px) 25px;background:var(--law-ink);color:var(--law-paper)}.contact-band .hero-cta{background:var(--law-accent);color:var(--law-ink)}.contact-foot{display:flex;justify-content:space-between;margin-top:150px;padding-top:18px;border-top:1px solid rgba(241,238,231,.25);font-size:11px;letter-spacing:.08em;color:#f1eee799}@media(max-width:800px){.global-hero{grid-template-columns:1fr;min-height:auto}.global-hero .hero-image{height:62vh}.statement-block,.section-head,.insight-section,.people-section{grid-template-columns:1fr;gap:38px}.practice-grid{grid-template-columns:1fr}.practice-grid a:nth-child(odd){border-right:0}.contact-foot{margin-top:90px;display:grid;gap:12px}.gecic-inspired .top nav.open{background:var(--law-paper)}}

/* Unified Gecić-inspired system for all internal pages */
.subpage{--sub-dark:#17222a!important;--sub-accent:#b89555!important;--sub-paper:#f1eee7!important;background:var(--sub-paper)!important;color:var(--sub-dark)!important;font-family:"Noto Sans TC",system-ui,sans-serif!important}.subpage .top{background:rgba(241,238,231,.9)!important;border-bottom:1px solid rgba(23,34,42,.16)!important}.subpage .sub-head{max-width:none!important;padding:clamp(120px,14vw,190px) clamp(22px,10vw,150px) 80px!important;display:grid!important;grid-template-columns:1.15fr .85fr!important;gap:9vw!important;align-items:end!important}.subpage .sub-head h1{font-size:clamp(52px,8vw,112px)!important;line-height:.92!important;font-weight:700!important;letter-spacing:-.06em!important;color:var(--sub-dark)!important}.subpage .sub-head h1 em{color:var(--sub-accent)!important}.subpage .sub-lede{font-size:16px!important;max-width:490px!important}.subpage .sub-image{height:min(64vh,620px)!important;filter:saturate(.72)}.subpage .sub-cards{margin:0 clamp(22px,10vw,150px) 0!important;display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:0!important;background:transparent!important;border-top:1px solid rgba(23,34,42,.3)!important}.subpage .sub-card{min-height:260px!important;background:transparent!important;padding:28px 30px!important;border-bottom:1px solid rgba(23,34,42,.25)!important}.subpage .sub-card:not(:last-child){border-right:1px solid rgba(23,34,42,.25)!important}.subpage .sub-card b{color:var(--sub-accent)!important;font:18px Georgia!important}.subpage .sub-card h2{margin-top:58px!important;font-size:clamp(22px,3vw,36px)!important}.subpage .sub-card p{font-size:14px!important;line-height:1.9!important;color:#17222ab8!important}.subpage .sub-detail{margin:clamp(90px,12vw,170px) clamp(22px,10vw,150px) 0!important;border-top:1px solid rgba(23,34,42,.25)!important}.subpage .sub-detail li{grid-template-columns:70px 1fr 1.2fr!important;padding:28px 0!important;border-bottom:1px solid rgba(23,34,42,.2)!important}.subpage .sub-detail b{color:var(--sub-accent)!important}.subpage .sub-detail span{font-size:clamp(24px,3vw,42px)!important;letter-spacing:-.04em}.subpage .sub-detail small{font-size:14px!important;color:#17222ab0!important}.subpage .process-steps{margin:clamp(90px,12vw,170px) clamp(22px,10vw,150px) 0!important;padding:0!important;border-top:1px solid rgba(23,34,42,.25)!important;background:transparent!important;color:var(--sub-dark)!important}.subpage .process-steps h2{font-size:clamp(38px,5vw,72px)!important;max-width:800px!important}.subpage .process-steps li{border-bottom:1px solid rgba(23,34,42,.2)!important}.subpage .sub-form{margin:clamp(90px,12vw,170px) clamp(22px,10vw,150px)!important;max-width:680px!important;padding:32px 0!important;border:0!important;border-top:1px solid rgba(23,34,42,.25)!important}.subpage .sub-form button{background:var(--sub-dark)!important}.subpage .sub-footer{margin-top:0!important;padding:clamp(90px,12vw,140px) clamp(22px,10vw,150px) 25px!important;background:var(--sub-dark)!important;color:var(--sub-paper)!important}.subpage .sub-footer a,.subpage .sub-footer span{color:inherit!important}.subpage .sub-credit{background:var(--sub-dark)!important;color:#f1eee799!important;border-color:#f1eee933!important}@media(max-width:800px){.subpage .sub-head{grid-template-columns:1fr!important;padding:110px 25px 55px!important;gap:38px!important}.subpage .sub-image{height:56vh!important}.subpage .sub-cards{grid-template-columns:1fr!important;margin:0 25px!important}.subpage .sub-card:not(:last-child){border-right:0!important}.subpage .sub-detail,.subpage .process-steps,.subpage .sub-form{margin-left:25px!important;margin-right:25px!important}.subpage .sub-detail li{grid-template-columns:42px 1fr!important}.subpage .sub-detail small{grid-column:2}.subpage .sub-footer{padding-left:25px!important;padding-right:25px!important}}
