:root{--ink: #0c1d20;--ink-2: #13292d;--text: #24383b;--muted: #56676a;--paper: #f5f3ee;--paper-2: #ebe7de;--surface: #fffefb;--line: rgba(12, 29, 32, .12);--line-strong: rgba(12, 29, 32, .24);--line-light: rgba(255, 255, 255, .16);--on-ink: #f2efe8;--on-ink-muted: rgba(242, 239, 232, .68);--blue: #1ea8d6;--blue-deep: #0a6f93;--green: #4fae68;--orange: #f0a04b;--stripe: linear-gradient(90deg, var(--green) 0 33.33%, var(--orange) 33.33% 66.66%, var(--blue) 66.66% 100%);--font: "Archivo", "Noto Sans TC", "PingFang TC", "Heiti TC", "Microsoft JhengHei", system-ui, sans-serif;--fs-xs: .75rem;--fs-sm: .875rem;--fs-md: 1rem;--fs-lg: clamp(1.0625rem, calc(1rem + .3vw), 1.25rem);--fs-xl: clamp(1.1875rem, calc(1.05rem + .7vw), 1.625rem);--fs-2xl: clamp(1.5rem, calc(1.15rem + 1.6vw), 2.5rem);--fs-3xl: clamp(2rem, calc(1.2rem + 3.6vw), 4.5rem);--fs-display: clamp(2.75rem, calc(1rem + 8vw), 8.75rem);--gutter: clamp(1.25rem, 4.5vw, 3.5rem);--max: 84rem;--section: clamp(4.5rem, calc(3rem + 6.5vw), 9rem);--radius: clamp(1rem, calc(.7rem + 1.2vw), 1.75rem);--radius-sm: .75rem;--header-h: 4rem;--ease: cubic-bezier(.22, 1, .36, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--shadow: 0 1px 2px rgba(12, 29, 32, .05), 0 18px 40px -18px rgba(12, 29, 32, .28);interpolate-size:allow-keywords}@media (min-width: 62em){:root{--header-h: 5rem}}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 1rem)}body{margin:0;min-height:100vh;background:var(--paper);color:var(--text);font-family:var(--font);font-size:var(--fs-md);line-height:1.75;letter-spacing:.01em;font-kerning:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip}html:lang(zh-Hant-TW) body{line-height:1.85;letter-spacing:.03em}img,svg,video,iframe{display:block;max-width:100%}img{height:auto}h1,h2,h3,h4{margin:0;color:var(--ink);font-weight:700;line-height:1.2;text-wrap:balance}p,figure,blockquote{margin:0}p{text-wrap:pretty}ul,ol{margin:0;padding:0}address{font-style:normal}a{color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:4px}::selection{background:var(--blue);color:#fff}main:focus{outline:none}.icon{width:1em;height:1em;flex:none;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.visually-hidden{position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:fixed;top:.75rem;left:.75rem;z-index:100;padding:.75rem 1.25rem;border-radius:999px;background:var(--ink);color:#fff;font-weight:600;transform:translateY(-200%);transition:transform 0.3s var(--ease)}.skip-link:focus{transform:none}.muted{color:var(--muted)}.container{width:100%;max-width:calc(var(--max) + var(--gutter) * 2);margin-inline:auto;padding-inline:var(--gutter)}.section{position:relative;padding-block:var(--section)}.section--tight{padding-block:clamp(3rem, calc(2rem + 4vw), 6rem) var(--section)}.section--alt{background:var(--paper-2)}.section--ink{background:var(--ink);color:var(--on-ink-muted)}.section--ink h2,.section--ink h3{color:var(--on-ink)}.section-head{display:grid;gap:1rem;margin-bottom:clamp(2.5rem, calc(1.5rem + 3vw), 4.5rem)}.section-head__meta{display:flex;align-items:center;gap:.875rem}.section-head__index{padding:.0625rem .625rem;border:1px solid var(--line-strong);border-radius:999px;color:var(--ink);font-size:var(--fs-xs);font-weight:600;line-height:1.6;font-variant-numeric:tabular-nums}.section-head__title{max-width:18ch;font-size:var(--fs-3xl);font-weight:800;line-height:1.12;font-stretch:105%}.section-head__link{justify-self:start}.section-head--light .section-head__index{border-color:var(--line-light);color:var(--on-ink)}.section-head--light .eyebrow{color:var(--on-ink-muted)}.section-head--light .section-head__title{color:var(--on-ink)}@media (min-width: 62em){.section-head{grid-template-columns:1fr auto;align-items:end;column-gap:3rem}.section-head__meta{grid-column:1 / -1}.section-head__link{justify-self:end;margin-bottom:.5rem}}html:lang(en) .section-head__title{max-width:20ch;letter-spacing:-.015em}.page-hero{position:relative;overflow:hidden;padding-top:calc(var(--header-h) + clamp(2.25rem, calc(1.5rem + 4vw), 5.5rem));padding-bottom:clamp(2.5rem, calc(1.5rem + 3vw), 4.5rem);border-bottom:1px solid var(--line)}.page-hero__inner{position:relative;z-index:1;display:grid;gap:1.25rem;justify-items:start}.page-hero__eyebrow{margin-top:.75rem}.page-hero__title{max-width:18ch;font-size:clamp(2.25rem, calc(1.2rem + 4.6vw), 5.5rem);font-weight:900;line-height:1.08;font-stretch:108%;animation:fade-up 1s var(--ease) both 0.1s}.page-hero__lead{max-width:40rem;color:var(--muted);font-size:var(--fs-lg);animation:fade-up 1s var(--ease) both 0.2s}.page-hero__ghost{display:none;position:absolute;right:calc(var(--gutter) * -.5);bottom:-.2em;z-index:0;color:transparent;-webkit-text-stroke:1px rgba(12,29,32,0.1);font-size:clamp(6rem, calc(2rem + 12vw), 15rem);font-weight:900;font-stretch:125%;line-height:1;letter-spacing:-.02em;text-transform:uppercase;white-space:nowrap;pointer-events:none;user-select:none}@media (min-width: 62em){.page-hero__ghost{display:block}}.page-hero--post{border-bottom:0;padding-bottom:0}.page-hero--post .page-hero__title{max-width:24ch;font-size:var(--fs-3xl)}html:lang(en) .page-hero__title{letter-spacing:-.02em}.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:.25rem .5rem;list-style:none;color:var(--muted);font-size:var(--fs-sm);line-height:1.5}.breadcrumbs li+li::before{content:"/";margin-right:.5rem;opacity:.45}.breadcrumbs a{transition:color .2s}.breadcrumbs a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:.2em}.breadcrumbs [aria-current]{color:var(--ink)}.pager{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem 2rem;padding-block:2rem var(--section);border-top:1px solid var(--line)}.pager__label{color:var(--muted);font-weight:500}.pager__label::after{content:"—";margin-inline:.5rem}.eyebrow{display:inline-flex;align-items:center;gap:.625rem;margin:0;color:var(--muted);font-size:var(--fs-xs);font-weight:600;line-height:1.4;letter-spacing:.18em;text-transform:uppercase}.eyebrow::before{content:"";flex:none;width:1.75rem;height:3px;border-radius:2px;background:var(--stripe)}.eyebrow--light{color:rgba(255,255,255,0.78)}.btn{--btn-bg: var(--ink);--btn-fg: #fff;--btn-bd: var(--btn-bg);--btn-hover: var(--blue);--btn-hover-fg: #fff;position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:.625rem;min-height:3.25rem;padding:.75rem 1.625rem;border:1px solid var(--btn-bd);border-radius:999px;background:var(--btn-bg);color:var(--btn-fg);font-size:var(--fs-md);font-weight:600;line-height:1.2;letter-spacing:.02em;white-space:nowrap;cursor:pointer;transition:color 0.45s var(--ease),border-color 0.45s var(--ease),transform 0.3s var(--ease)}.btn::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:var(--btn-hover);transform:translateY(101%);transition:transform 0.55s var(--ease)}.btn .icon{font-size:1.125em;transition:transform 0.45s var(--ease)}@media (hover: hover){.btn:hover{color:var(--btn-hover-fg);border-color:var(--btn-hover)}.btn:hover::before{transform:none}.btn:hover .icon{transform:translateX(0.25rem)}}.btn:active{transform:scale(0.97)}.btn--sm{min-height:2.75rem;padding:.5rem 1.125rem;font-size:var(--fs-sm)}.btn--light{--btn-bg: #fff;--btn-fg: var(--ink)}.btn--ghost-light{--btn-bg: transparent;--btn-fg: #fff;--btn-bd: rgba(255, 255, 255, .5);--btn-hover: #fff;--btn-hover-fg: var(--ink)}.btn--outline{--btn-bg: transparent;--btn-fg: var(--ink);--btn-bd: var(--line-strong);--btn-hover: var(--ink)}.link-arrow{display:inline-flex;align-items:center;gap:.5rem;padding-block:.375rem;background:linear-gradient(currentColor 0 0) left bottom/0 1px no-repeat;color:var(--ink);font-weight:600;line-height:1.4;transition:background-size 0.5s var(--ease)}.link-arrow .icon{transition:transform 0.45s var(--ease)}.link-arrow:hover{background-size:100% 1px}.link-arrow:hover .icon{transform:translateX(0.25rem)}.link-arrow--back:hover .icon{transform:translateX(-0.25rem)}.chips{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none}.chips li{padding:.25rem .875rem;border:1px solid var(--line-strong);border-radius:999px;background:rgba(255,255,255,0.45);color:var(--ink);font-size:var(--fs-sm);line-height:1.6}.chips--sm li{padding:.125rem .625rem;font-size:var(--fs-xs)}.chips--lg li{padding:.5rem 1.125rem;font-size:var(--fs-md);background:var(--surface)}.prose{max-width:44rem}.prose>*+*{margin-top:1.25em}.prose h2{position:relative;margin-top:2.4em;padding-top:1.25rem;font-size:var(--fs-2xl);font-weight:800}.prose h2::before{content:"";position:absolute;top:0;left:0;width:2.5rem;height:3px;border-radius:2px;background:var(--stripe)}.prose h3{margin-top:1.8em;font-size:var(--fs-xl)}.prose h2+*,.prose h3+*{margin-top:.875em}.prose a{color:var(--blue-deep);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em}.prose a:hover{color:var(--ink)}.prose strong{color:var(--ink);font-weight:700}.prose ul{list-style:none}.prose ol{padding-left:1.25em}.prose li+li{margin-top:.75em}.prose ul>li{position:relative;padding-left:1.5rem}.prose ul>li::before{content:"";position:absolute;top:.78em;left:.2rem;width:.5rem;height:.5rem;border-radius:2px;background:var(--blue)}.prose img{width:100%;border-radius:var(--radius)}.prose p:has(>img:only-child){margin-block:2em}.prose blockquote{padding-left:1.25rem;border-left:3px solid var(--blue);color:var(--ink);font-size:var(--fs-lg)}.prose>:first-child{margin-top:0}.prose--lead{color:var(--ink);font-size:var(--fs-lg)}.prose--lead>p:first-child{font-size:var(--fs-xl);font-weight:500;line-height:1.65}.case-grid{display:grid;gap:clamp(2rem, calc(1rem + 2.5vw), 3rem) clamp(1.5rem, calc(1rem + 2vw), 2.5rem)}@media (min-width: 48em){.case-grid{grid-template-columns:repeat(2, 1fr)}.case-grid .case-card--feature{grid-column:1 / -1}}.case-card__link{display:grid;gap:1.5rem}.case-card__media{overflow:hidden;aspect-ratio:4 / 3;border-radius:var(--radius);background:var(--paper-2)}.case-card__media img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}.case-card__body{display:grid;gap:.875rem;justify-items:start}.case-card__title{font-size:var(--fs-2xl);font-weight:800;line-height:1.2}.case-card__excerpt{color:var(--muted)}.case-card__more{display:inline-flex;align-items:center;gap:.5rem;margin-top:.5rem;padding-bottom:.25rem;border-bottom:1px solid var(--line-strong);color:var(--ink);font-weight:600;transition:border-color .4s}.case-card__more .icon{transition:transform 0.45s var(--ease)}.case-card__link:hover .case-card__media img{transform:scale(1.05)}.case-card__link:hover .case-card__more{border-color:var(--ink)}.case-card__link:hover .case-card__more .icon{transform:translateX(0.25rem)}@media (min-width: 62em){.case-card--feature .case-card__link{grid-template-columns:1.3fr 1fr;align-items:center;gap:clamp(3rem, calc(1rem + 4vw), 6rem)}.case-card--feature .case-card__title{font-size:var(--fs-3xl)}.case-card--feature .case-card__excerpt{font-size:var(--fs-lg)}}.post-list{list-style:none;border-top:1px solid var(--line-strong)}.post-list__item{border-bottom:1px solid var(--line-strong)}.post-list__link{display:grid;grid-template-columns:1fr auto;grid-template-areas:"date arrow" "title arrow";align-items:center;gap:.375rem 1.5rem;padding-block:1.5rem;transition:padding 0.5s var(--ease)}.post-list__date{grid-area:date;color:var(--muted);font-size:var(--fs-sm);letter-spacing:.06em;font-variant-numeric:tabular-nums}.post-list__title{grid-area:title;color:var(--ink);font-size:var(--fs-xl);font-weight:700;line-height:1.4}.post-list__arrow{grid-area:arrow;display:grid;place-items:center;width:3rem;height:3rem;border:1px solid var(--line-strong);border-radius:50%;color:var(--ink);transition:background-color 0.4s,color 0.4s,border-color 0.4s,transform 0.5s var(--ease)}@media (hover: hover){.post-list__link:hover{padding-inline:.75rem}.post-list__link:hover .post-list__arrow{background:var(--ink);border-color:var(--ink);color:#fff;transform:rotate(-45deg)}}@media (min-width: 48em){.post-list__link{grid-template-columns:9rem 1fr auto;grid-template-areas:"date title arrow";padding-block:1.75rem}}.site-header{position:fixed;inset:0 0 auto;z-index:60;height:var(--header-h);color:var(--ink);transition:transform 0.5s var(--ease),color 0.4s}.site-header::before{content:"";position:absolute;inset:0;z-index:-1;border-bottom:1px solid var(--line);background:rgba(245,243,238,0.84);-webkit-backdrop-filter:blur(16px) saturate(1.6);backdrop-filter:blur(16px) saturate(1.6);transition:opacity .4s}.site-header.is-hidden{transform:translateY(-100%)}.site-header__inner{display:flex;align-items:center;gap:1.5rem;height:100%}.site-header__actions{display:flex;align-items:center;gap:.625rem}.site-header__cta{display:none}@media (min-width: 62em){.site-header__cta{display:inline-flex}}.brand{position:relative;flex:none;margin-right:auto}.brand__logo{width:auto;height:2.125rem;transition:opacity .4s}@media (min-width: 62em){.brand__logo{height:2.5rem}}.brand__logo--light{position:absolute;inset:0;opacity:0}.has-dark-hero .site-header:not(.is-scrolled),.menu-open .site-header{color:#fff}.has-dark-hero .site-header:not(.is-scrolled)::before,.menu-open .site-header::before{opacity:0}.has-dark-hero .site-header:not(.is-scrolled) .brand__logo--dark,.menu-open .site-header .brand__logo--dark{opacity:0}.has-dark-hero .site-header:not(.is-scrolled) .brand__logo--light,.menu-open .site-header .brand__logo--light{opacity:1}.has-dark-hero .site-header:not(.is-scrolled) .site-header__cta,.menu-open .site-header .site-header__cta{--btn-bg: #fff;--btn-fg: var(--ink)}.has-dark-hero .site-header:not(.is-scrolled) .menu-toggle,.menu-open .site-header .menu-toggle{background:#fff;color:var(--ink)}.nav{display:none}@media (min-width: 62em){.nav{display:block}}.nav__list{display:flex;gap:.25rem;list-style:none}.nav__item{position:relative}.nav__link{position:relative;display:inline-flex;align-items:center;height:var(--header-h);padding-inline:.875rem;font-size:.9375rem;font-weight:500;letter-spacing:.04em}.nav__link::after{content:"";position:absolute;right:.875rem;bottom:calc(50% - 1.05rem);left:.875rem;height:2px;border-radius:2px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform 0.5s var(--ease)}.nav__item:hover>.nav__link::after,.nav__item:focus-within>.nav__link::after{transform:scaleX(1);transform-origin:left}.nav__item.is-active>.nav__link::after{background:var(--stripe);transform:scaleX(1)}.nav__sub{position:absolute;top:calc(100% - .75rem);left:0;min-width:11rem;padding:.5rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow);color:var(--ink);list-style:none;opacity:0;visibility:hidden;translate:0 .5rem;transition:opacity 0.3s var(--ease),translate 0.3s var(--ease),visibility 0.3s}.nav__sub a{display:block;padding:.625rem .875rem;border-radius:.5rem;font-size:.9375rem;white-space:nowrap;transition:background-color .2s}.nav__sub a:hover,.nav__sub a[aria-current]{background:var(--paper-2)}.nav__item:hover>.nav__sub,.nav__item:focus-within>.nav__sub{opacity:1;visibility:visible;translate:0 0}.lang-switch{display:inline-flex;align-items:center;gap:.4375rem;height:2.75rem;padding-inline:.875rem;border:1px solid color-mix(in srgb, currentColor 28%, transparent);border-radius:999px;font-size:var(--fs-xs);font-weight:700;letter-spacing:.08em;transition:border-color .3s, background-color .3s}.lang-switch__opt{opacity:.45;transition:opacity .3s}.lang-switch__opt.is-current{opacity:1}.lang-switch__sep{width:1px;height:.875rem;background:currentColor;opacity:.3}.lang-switch:hover{border-color:currentColor}.lang-switch:hover .lang-switch__opt{opacity:1}.menu-toggle{display:inline-grid;place-items:center;width:2.75rem;height:2.75rem;padding:0;border:0;border-radius:50%;background:var(--ink);color:#fff;cursor:pointer;transition:background-color .4s, color .4s}@media (min-width: 62em){.menu-toggle{display:none}}.menu-toggle__bars{position:relative;width:1.125rem;height:10px}.menu-toggle__bars::before,.menu-toggle__bars::after{content:"";position:absolute;left:0;right:0;height:2px;border-radius:2px;background:currentColor;transition:transform 0.5s var(--ease),top 0.5s var(--ease)}.menu-toggle__bars::before{top:0}.menu-toggle__bars::after{top:8px}.menu-toggle[aria-expanded="true"] .menu-toggle__bars::before{top:4px;transform:rotate(45deg)}.menu-toggle[aria-expanded="true"] .menu-toggle__bars::after{top:4px;transform:rotate(-45deg)}.menu{position:fixed;inset:0;z-index:55;overflow-y:auto;overscroll-behavior:contain;background:var(--ink);color:var(--on-ink);visibility:hidden;clip-path:inset(0 0 100% 0);transition:clip-path 0.7s var(--ease-in-out),visibility 0s linear 0.7s}@media (min-width: 62em){.menu{display:none}}.menu.is-open{visibility:visible;clip-path:inset(0);transition:clip-path 0.7s var(--ease-in-out),visibility 0s}.menu__inner{display:flex;flex-direction:column;justify-content:space-between;gap:2.5rem;min-height:100%;padding-top:calc(var(--header-h) + 1.5rem);padding-bottom:calc(2rem + env(safe-area-inset-bottom))}.menu__list{list-style:none}.menu__item{padding-block:.875rem;border-bottom:1px solid var(--line-light);opacity:0;translate:0 1.5rem;transition:opacity 0.4s var(--ease),translate 0.6s var(--ease)}.menu__link{display:flex;align-items:baseline;gap:1rem;color:var(--on-ink);font-size:clamp(1.75rem, calc(1.2rem + 3vw), 2.5rem);font-weight:700;line-height:1.25;letter-spacing:.02em}.menu__item.is-active .menu__link{color:var(--blue)}.menu__num{min-width:1.5rem;color:var(--on-ink-muted);font-size:var(--fs-xs);font-weight:600;letter-spacing:.1em;font-variant-numeric:tabular-nums}.menu__sub{display:flex;flex-wrap:wrap;gap:0 1.5rem;margin-top:.25rem;padding-left:2.5rem;list-style:none}.menu__sub a{display:inline-block;padding-block:.5rem;color:var(--on-ink-muted);font-size:var(--fs-md);transition:color .2s}.menu__sub a:hover,.menu__sub a[aria-current]{color:var(--on-ink)}.menu__foot{display:grid;gap:.25rem;color:var(--on-ink-muted);font-size:var(--fs-sm);opacity:0;transition:opacity 0.5s var(--ease)}.menu__foot a{display:inline-flex;align-items:center;gap:.75rem;min-height:2.75rem;transition:color .2s}.menu__foot a:hover{color:var(--on-ink)}.menu__foot .icon{font-size:1.125rem;color:var(--blue)}.menu.is-open .menu__item{opacity:1;translate:0 0}.menu.is-open .menu__foot{opacity:1;transition-delay:.55s}.menu.is-open .menu__item:nth-child(1){transition-delay:.24s}.menu.is-open .menu__item:nth-child(2){transition-delay:.3s}.menu.is-open .menu__item:nth-child(3){transition-delay:.36s}.menu.is-open .menu__item:nth-child(4){transition-delay:.42s}.menu.is-open .menu__item:nth-child(5){transition-delay:.48s}.menu.is-open .menu__item:nth-child(6){transition-delay:.54s}.menu-open{overflow:hidden}.cta{position:relative;padding-block:var(--section);background:var(--ink);color:var(--on-ink);overflow:hidden}.cta::before{content:"";position:absolute;inset:0 0 auto;height:4px;background:var(--stripe)}.cta__title{max-width:20ch;margin-top:1.5rem;color:var(--on-ink);font-size:var(--fs-3xl);font-weight:800;line-height:1.18;font-stretch:105%}.cta__row{display:flex;flex-direction:column;align-items:flex-start;gap:2.5rem;margin-top:clamp(2rem, calc(1rem + 4vw), 4rem)}@media (min-width: 48em){.cta__row{flex-direction:row;align-items:center;justify-content:space-between}}.cta__body{max-width:30rem;color:var(--on-ink-muted);font-size:var(--fs-lg)}.cta__button{--size: clamp(8.5rem, calc(6rem + 8vw), 12.5rem);flex:none;display:grid;place-content:center;justify-items:center;gap:.5rem;width:var(--size);height:var(--size);padding:1rem;border-radius:50%;background:var(--blue);color:#fff;font-weight:700;line-height:1.3;text-align:center;transition:background-color 0.5s var(--ease),transform 0.6s var(--ease),translate 0.4s var(--ease)}.cta__button .icon{font-size:1.5rem;transition:transform 0.5s var(--ease)}.cta__button:hover{background:var(--green);transform:scale(1.06)}.cta__button:hover .icon{transform:translate(0.2rem, -0.2rem)}html:lang(en) .cta__title{letter-spacing:-.015em}.site-footer{overflow:hidden;padding-top:clamp(3.5rem, calc(2rem + 4vw), 6rem);border-top:1px solid var(--line-light);background:var(--ink);color:var(--on-ink-muted);font-size:var(--fs-sm)}.site-footer__grid{display:grid;gap:2.75rem}@media (min-width: 40em){.site-footer__grid{grid-template-columns:1fr 1fr}.site-footer__grid .site-footer__brand{grid-column:1 / -1}}@media (min-width: 62em){.site-footer__grid{grid-template-columns:1.5fr 1fr 1.2fr;gap:4rem}.site-footer__grid .site-footer__brand{grid-column:auto}}.site-footer__logo img{width:auto;height:2.75rem}.site-footer__tagline{max-width:26rem;margin-top:1.25rem;line-height:1.8}.site-footer__title{margin-bottom:1rem;color:var(--on-ink);font-size:var(--fs-xs);font-weight:600;letter-spacing:.18em;text-transform:uppercase}.site-footer__links{columns:2;column-gap:1.5rem;list-style:none}.site-footer__links a{display:inline-block;padding-block:.3125rem;transition:color .2s}.site-footer__links a:hover{color:var(--on-ink)}.site-footer__contact{display:grid;gap:1.125rem}.site-footer__contact a{display:grid;gap:.125rem;color:var(--on-ink);line-height:1.6;overflow-wrap:anywhere;transition:color .2s}.site-footer__contact a:hover{color:var(--blue)}.site-footer__label{color:var(--on-ink-muted);font-size:var(--fs-xs);letter-spacing:.08em}.site-footer__wordmark{margin-top:clamp(3rem, calc(2rem + 4vw), 6rem);background:linear-gradient(180deg, rgba(242,239,232,0.16), rgba(242,239,232,0) 88%);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:min(calc((100vw - 2 * var(--gutter)) / 7.3), calc(var(--max) / 7.3));font-weight:800;font-stretch:125%;line-height:.82;letter-spacing:-.02em;text-align:center;white-space:nowrap;user-select:none}.site-footer__bottom{display:flex;flex-direction:column;gap:1rem;padding-block:1.5rem calc(1.5rem + env(safe-area-inset-bottom));border-top:1px solid var(--line-light)}@media (min-width: 48em){.site-footer__bottom{flex-direction:row;align-items:center;justify-content:space-between}}.site-footer__bottom-links{display:flex;flex-wrap:wrap;gap:.5rem 1.75rem}.site-footer__bottom-links a{display:inline-flex;align-items:center;gap:.5rem;min-height:2.75rem;color:var(--on-ink);transition:color .2s}.site-footer__bottom-links a:hover{color:var(--blue)}.hero{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-rows:1fr auto;min-height:100vh;min-height:100svh;background:var(--ink);color:#fff}.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg, rgba(12,29,32,0.6) 0%, rgba(12,29,32,0) 24%, rgba(12,29,32,0.2) 46%, rgba(12,29,32,0.86) 76%, var(--ink) 100%)}@media (min-width: 62em){.hero::before{background:linear-gradient(90deg, rgba(12,29,32,0.78) 0%, rgba(12,29,32,0.25) 55%, rgba(12,29,32,0) 80%),linear-gradient(180deg, rgba(12,29,32,0.5) 0%, rgba(12,29,32,0) 25%, rgba(12,29,32,0) 62%, var(--ink) 100%)}}.hero__media{position:absolute;inset:0;z-index:-2}.hero__media img{width:100%;height:100%;object-fit:cover;object-position:87% 50%;transform-origin:80% 60%;animation:hero-zoom 2.6s var(--ease) both}@media (min-width: 48em){.hero__media img{object-position:70% 45%}}.hero__inner{align-self:end;padding-top:calc(var(--header-h) + 3rem);padding-bottom:clamp(2rem, calc(1rem + 3vw), 3.5rem)}.hero__eyebrow{animation:fade-up 1s var(--ease) both 0.2s}.hero__title{margin-top:1.25rem;color:#fff;font-size:var(--fs-display);font-weight:900;line-height:1.12;letter-spacing:.02em}.hero__line{display:block;overflow:hidden;padding-bottom:.04em}.hero__line>span{display:inline-block;animation:line-up 1.2s var(--ease) both 0.3s}.hero__line:nth-child(2)>span{animation-delay:.4s}.hero__line:nth-child(3)>span{animation-delay:.5s}.hero__lead{max-width:34rem;margin-top:1.5rem;color:rgba(255,255,255,0.84);font-size:var(--fs-lg);animation:fade-up 1s var(--ease) both 0.7s}.hero__actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem;animation:fade-up 1s var(--ease) both 0.85s}.hero__foot{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding-block:1.25rem calc(1.25rem + env(safe-area-inset-bottom));border-top:1px solid var(--line-light);font-size:var(--fs-sm);animation:fade-up 1s var(--ease) both 1s}.hero__scroll{display:inline-flex;align-items:center;gap:.75rem;color:rgba(255,255,255,0.72);font-size:var(--fs-xs);letter-spacing:.18em;text-transform:uppercase}.hero__scroll-line{position:relative;overflow:hidden;width:1px;height:2.25rem;background:rgba(255,255,255,0.25)}.hero__scroll-line::after{content:"";position:absolute;inset:0 0 auto;height:45%;background:#fff;animation:scroll-line 2.4s var(--ease-in-out) infinite}.hero__index{display:none;gap:2.25rem;list-style:none}@media (min-width: 62em){.hero__index{display:flex}}.hero__index a{display:inline-flex;gap:.625rem;color:rgba(255,255,255,0.78);transition:color .3s}.hero__index a:hover{color:#fff}.hero__index span{color:rgba(255,255,255,0.45);font-variant-numeric:tabular-nums}html:lang(en) .hero__title{font-stretch:112%;line-height:1;letter-spacing:-.025em}.marquee{overflow:hidden;padding-block:clamp(1.25rem, calc(.9rem + 1.6vw), 2.25rem);background:var(--ink);color:var(--on-ink)}.marquee__track{display:flex;width:max-content;animation:marquee 40s linear infinite}.marquee:hover .marquee__track{animation-play-state:paused}.marquee__group{display:flex;flex:none;align-items:center;font-size:clamp(1.75rem, calc(1rem + 3.4vw), 4.25rem);font-weight:800;line-height:1.15;font-stretch:110%;white-space:nowrap}.marquee__word{padding-inline:.45em}.marquee__word--outline{color:var(--ink);-webkit-text-stroke:2px rgba(242,239,232,0.6);paint-order:stroke fill}.marquee__dot{flex:none;width:.32em;height:.32em;border-radius:50%;background:conic-gradient(var(--green) 0 120deg, var(--orange) 0 240deg, var(--blue) 0)}.about__grid{display:grid;gap:2.5rem}.about__grid .section-head{margin-bottom:0}@media (min-width: 62em){.about__grid{grid-template-columns:repeat(12, minmax(0, 1fr));grid-template-rows:auto 1fr;column-gap:2rem;row-gap:3rem}.about__grid .section-head{grid-column:1 / span 5;grid-row:1}}.about__body{display:grid;gap:2rem;justify-items:start}@media (min-width: 62em){.about__body{grid-column:7 / -1;grid-row:1 / span 2}}.about__media{overflow:hidden;max-width:22rem;aspect-ratio:286 / 221;border-radius:var(--radius);background:#e9e8e4}.about__media img{width:100%;height:100%;object-fit:cover}@media (min-width: 62em){.about__media{grid-column:1 / span 4;grid-row:2;align-self:end}}.service-cards{display:grid;gap:1rem;list-style:none}@media (min-width: 62em){.service-cards{grid-template-columns:repeat(3, 1fr);gap:1.25rem}}.service-card{--accent: var(--blue)}.service-card:nth-child(1){--accent: var(--green)}.service-card:nth-child(2){--accent: var(--orange)}.service-card__link{position:relative;overflow:hidden;display:grid;grid-template-columns:1fr auto;grid-template-areas:"num icon" "title title" "text text" "more more";align-content:start;gap:.75rem 1rem;height:100%;padding:clamp(1.5rem, calc(1rem + 1.6vw), 2.5rem);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);transition:transform 0.6s var(--ease),box-shadow 0.6s var(--ease)}.service-card__link::before{content:"";position:absolute;inset:0 0 auto;height:4px;background:var(--accent);transform:scaleX(0.2);transform-origin:left;transition:transform 0.8s var(--ease)}.service-card__num{grid-area:num;color:var(--muted);font-size:var(--fs-sm);font-weight:600;font-variant-numeric:tabular-nums}.service-card__icon{grid-area:icon;width:4.5rem;height:4.5rem;margin:-.5rem -.5rem 0 0;transition:transform 0.8s var(--ease)}.service-card__title{grid-area:title;margin-top:clamp(1rem, calc(.5rem + 2vw), 2.5rem);font-size:var(--fs-xl);font-weight:800}.service-card__text{grid-area:text;color:var(--muted)}.service-card__more{grid-area:more;display:inline-flex;align-items:center;gap:.5rem;margin-top:.75rem;color:var(--ink);font-size:var(--fs-sm);font-weight:600}.service-card__more .icon{transition:transform 0.45s var(--ease)}@media (hover: hover){.service-card__link:hover{transform:translateY(-0.375rem);box-shadow:var(--shadow)}.service-card__link:hover::before{transform:scaleX(1)}.service-card__link:hover .service-card__icon{transform:rotate(-8deg) scale(1.08)}.service-card__link:hover .service-card__more .icon{transform:translateX(0.25rem)}}.pillars__list{border-top:1px solid var(--line-light);list-style:none}.pillar{--accent: var(--blue);display:grid;gap:.625rem;padding-block:clamp(1.75rem, calc(1rem + 2vw), 2.75rem);border-bottom:1px solid var(--line-light)}.pillar:nth-child(1){--accent: var(--green)}.pillar:nth-child(2){--accent: var(--orange)}.pillar__label{color:var(--on-ink-muted);font-size:var(--fs-xs);letter-spacing:.18em;text-transform:uppercase}.pillar__title{font-size:clamp(2.75rem, calc(1.5rem + 5.5vw), 6.5rem);font-weight:900;line-height:1;font-stretch:112%;transition:translate 0.7s var(--ease)}.pillar__title::after{content:"";display:inline-block;width:.16em;height:.16em;margin-left:.08em;border-radius:50%;background:var(--accent)}.pillar__text{max-width:26rem}@media (min-width: 62em){.pillar{grid-template-columns:11rem 1fr minmax(0, 24rem);align-items:center;gap:2rem}.pillar:hover .pillar__title{translate:.75rem 0}}html:lang(en) .pillar__title{font-size:clamp(2.25rem, calc(1.2rem + 4.5vw), 5.5rem);letter-spacing:-.03em}@media (min-width: 62em){.news-section__grid{display:grid;grid-template-columns:5fr 7fr;gap:4rem}.news-section__grid .section-head{grid-template-columns:1fr;align-content:start;margin-bottom:0}.news-section__grid .section-head__link{justify-self:start}}.services__intro{margin-bottom:clamp(2.5rem, calc(1.5rem + 4vw), 5rem)}.service-list{border-top:1px solid var(--line-strong);list-style:none}.service-row{--accent: var(--blue);display:grid;grid-template-columns:1fr auto;gap:1.25rem;padding-block:clamp(2rem, calc(1.5rem + 2.5vw), 4rem);border-bottom:1px solid var(--line-strong);scroll-margin-top:var(--header-h)}.service-row:nth-child(1){--accent: var(--green)}.service-row:nth-child(2){--accent: var(--orange)}.service-row__num{align-self:start;justify-self:start;padding:.0625rem .75rem;border-radius:999px;background:var(--accent);color:var(--ink);font-size:var(--fs-sm);font-weight:700;line-height:1.6;font-variant-numeric:tabular-nums}.service-row__main{grid-column:1 / -1;display:grid;gap:1.25rem;justify-items:start}.service-row__title{font-size:var(--fs-3xl);font-weight:900;line-height:1.1}.service-row__text{max-width:38rem;font-size:var(--fs-lg)}.service-row__icon{grid-row:1;grid-column:2;width:4.5rem;margin-top:-.75rem;transition:transform 0.8s var(--ease)}.service-row:hover .service-row__icon{transform:rotate(-6deg) scale(1.05)}@media (min-width: 62em){.service-row{grid-template-columns:6rem 1fr 13rem;align-items:start;gap:2rem}.service-row__main{grid-column:2}.service-row__icon{grid-column:3;width:11rem;justify-self:end;margin-top:0}}html:lang(en) .service-row__title{letter-spacing:-.02em}.page-hero--case{border-bottom:0}.page-hero--case .page-hero__title{max-width:14ch;font-size:var(--fs-3xl)}.case-hero{display:grid;gap:2.5rem;align-items:center}.case-hero__text{display:grid;gap:1.25rem;justify-items:start}.case-hero__text .btn{margin-top:.5rem}.case-hero__media{overflow:hidden;border-radius:var(--radius);box-shadow:var(--shadow);animation:fade-up 1.2s var(--ease) both 0.25s}@media (min-width: 62em){.case-hero{grid-template-columns:1fr 1.15fr;gap:4rem}}.case-body{display:grid;gap:3rem}@media (min-width: 62em){.case-body{grid-template-columns:1.3fr 1fr;align-items:start;gap:5rem}.case-body__features{position:sticky;top:calc(var(--header-h) + 2rem)}}.case-body__heading{margin-bottom:1.25rem}.feature-list{display:grid;grid-template-columns:repeat(2, 1fr);gap:.75rem;list-style:none}.feature-list li{display:grid;align-content:start;gap:.75rem;padding:1.25rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font-weight:600;line-height:1.45}.feature-list__num{color:var(--muted);font-size:var(--fs-xs);letter-spacing:.08em;font-variant-numeric:tabular-nums}.case-industries__head{display:grid;gap:1.25rem;justify-items:start;margin-bottom:clamp(2rem, calc(1.5rem + 2vw), 3.5rem)}.case-industries__title{max-width:30ch;font-size:var(--fs-2xl);font-weight:800;line-height:1.35}.gallery{display:grid;grid-template-columns:repeat(2, 1fr);gap:.75rem;list-style:none}.gallery__item:first-child{grid-column:1 / -1}@media (min-width: 62em){.gallery{grid-template-columns:repeat(6, 1fr);gap:1.25rem}.gallery__item{grid-column:span 2}.gallery__item:nth-child(-n+2){grid-column:span 3}}.gallery__link{position:relative;display:block;overflow:hidden;aspect-ratio:3 / 2;border-radius:var(--radius-sm);background:var(--paper)}.gallery__link img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}.gallery__zoom{position:absolute;right:.75rem;bottom:.75rem;display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:50%;background:rgba(255,255,255,0.92);color:var(--ink);transition:opacity 0.4s var(--ease),transform 0.4s var(--ease)}@media (hover: hover){.gallery__zoom{opacity:0;transform:scale(0.8)}.gallery__link:hover img{transform:scale(1.05)}.gallery__link:hover .gallery__zoom{opacity:1;transform:none}}.gallery__caption{margin-top:.625rem;color:var(--muted);font-size:var(--fs-sm)}.lightbox{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:1rem;border:0;background:transparent}.lightbox[open]{display:grid;place-items:center}.lightbox::backdrop{background:rgba(12,29,32,0.92);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.lightbox__img{width:auto;max-width:min(100%, 1400px);max-height:86dvh;border-radius:var(--radius-sm);animation:fade-up 0.5s var(--ease) both}.lightbox__close{position:fixed;top:max(1rem, env(safe-area-inset-top));right:1rem;display:grid;place-items:center;width:3rem;height:3rem;border:0;border-radius:50%;background:#fff;color:var(--ink);font-size:1.25rem;cursor:pointer}.faq{display:grid;gap:3rem}@media (min-width: 62em){.faq{grid-template-columns:1fr 20rem;align-items:start;gap:5rem}.faq__aside{position:sticky;top:calc(var(--header-h) + 2rem)}}.faq__list>.prose{margin-bottom:2.5rem}.faq__item{border-bottom:1px solid var(--line-strong)}.faq__item:first-of-type{border-top:1px solid var(--line-strong)}.faq__item::details-content{block-size:0;overflow:hidden;transition:block-size 0.5s var(--ease),content-visibility 0.5s allow-discrete}.faq__item[open]::details-content{block-size:auto}.faq__q{display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:1rem;padding-block:1.5rem;cursor:pointer;list-style:none}.faq__q::-webkit-details-marker{display:none}.faq__q:hover .faq__text{color:var(--blue-deep)}.faq__num{min-width:2.25rem;padding-top:.5em;color:var(--muted);font-size:var(--fs-xs);font-weight:600;letter-spacing:.08em;font-variant-numeric:tabular-nums}.faq__text{color:var(--ink);font-size:var(--fs-xl);font-weight:700;line-height:1.45;transition:color .2s}.faq__icon{display:grid;place-items:center;width:2.5rem;height:2.5rem;border:1px solid var(--line-strong);border-radius:50%;color:var(--ink);font-size:1.125rem;transition:transform 0.5s var(--ease),background-color 0.3s,color 0.3s,border-color 0.3s}.faq__item[open] .faq__icon{border-color:var(--ink);background:var(--ink);color:#fff;transform:rotate(45deg)}.faq__a{max-width:46rem;padding:0 0 2rem 3.25rem}.faq__aside{display:grid;justify-items:start;gap:1rem;padding:clamp(1.75rem, calc(1.25rem + 1.5vw), 2.5rem);border-radius:var(--radius);background:var(--ink);color:var(--on-ink-muted)}.faq__aside .btn{--btn-bg: #fff;--btn-fg: var(--ink);margin-top:.5rem}.faq__aside-title{color:var(--on-ink);font-size:var(--fs-xl)}.faq__aside-phone{display:inline-flex;align-items:center;gap:.5rem;min-height:2.75rem;color:var(--on-ink);font-weight:600}.faq__aside-phone .icon{color:var(--blue)}@media (max-width: 39.99em){.faq__a{padding-left:0}}.contact{display:grid;gap:3rem}@media (min-width: 62em){.contact{grid-template-columns:1fr 1fr;align-items:stretch;gap:4rem}}.contact__info{display:grid;align-content:start;gap:2.5rem}.contact__map{overflow:hidden;aspect-ratio:1;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-2)}@media (min-width: 40em){.contact__map{aspect-ratio:4 / 3}}@media (min-width: 62em){.contact__map{aspect-ratio:auto;min-height:34rem}}.contact__map iframe{width:100%;height:100%;border:0;filter:grayscale(0.4) contrast(1.05)}.contact-list{border-top:1px solid var(--line-strong);list-style:none}.contact-list li{border-bottom:1px solid var(--line-strong)}.contact-list__link{display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"icon label go" "icon value go";align-items:center;gap:.125rem 1rem;padding-block:1.25rem}.contact-list__icon{grid-area:icon;display:grid;place-items:center;width:3rem;height:3rem;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--blue-deep);font-size:1.25rem;transition:background-color .4s, color .4s, border-color .4s}.contact-list__label{grid-area:label;color:var(--muted);font-size:var(--fs-xs);letter-spacing:.12em;text-transform:uppercase}.contact-list__value{grid-area:value;color:var(--ink);font-size:var(--fs-lg);font-weight:600;line-height:1.45;overflow-wrap:anywhere}.contact-list__go{grid-area:go;color:var(--muted);font-size:1.25rem;transition:transform 0.45s var(--ease),color 0.3s}.contact-list__link:hover .contact-list__icon{border-color:var(--ink);background:var(--ink);color:#fff}.contact-list__link:hover .contact-list__go{color:var(--ink);transform:translate(0.2rem, -0.2rem)}.hub__intro{margin-bottom:clamp(2.5rem, calc(1.5rem + 3vw), 4rem)}.hub-cards{display:grid;gap:1rem;list-style:none}@media (min-width: 48em){.hub-cards{grid-template-columns:repeat(2, 1fr);gap:1.5rem}}.hub-card{position:relative;isolation:isolate;overflow:hidden;display:grid;align-content:start;gap:.875rem;height:100%;min-height:clamp(15rem, calc(12rem + 8vw), 21rem);padding:clamp(1.5rem, calc(1rem + 2vw), 2.75rem);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--muted);transition:color 0.5s var(--ease)}.hub-card::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--ink);clip-path:circle(0 at 100% 0);transition:clip-path 0.8s var(--ease)}.hub-card__num{color:var(--muted);font-size:var(--fs-sm);font-weight:600;font-variant-numeric:tabular-nums}.hub-card__title{margin-top:auto;padding-top:2rem;font-size:var(--fs-2xl);font-weight:900;transition:color 0.5s var(--ease)}.hub-card__go{position:absolute;top:clamp(1.25rem, calc(1rem + 1.5vw), 2.25rem);right:clamp(1.25rem, calc(1rem + 1.5vw), 2.25rem);display:grid;place-items:center;width:3rem;height:3rem;border:1px solid var(--line-strong);border-radius:50%;color:var(--ink);font-size:1.25rem;transition:background-color 0.4s,color 0.4s,border-color 0.4s,transform 0.6s var(--ease)}.hub-card:hover{color:var(--on-ink-muted)}.hub-card:hover::before{clip-path:circle(150% at 100% 0)}.hub-card:hover .hub-card__title{color:var(--on-ink)}.hub-card:hover .hub-card__num,.hub-card:hover .eyebrow{color:var(--on-ink-muted)}.hub-card:hover .hub-card__go{border-color:var(--blue);background:var(--blue);color:#fff;transform:rotate(45deg)}.not-found{display:grid;align-items:center;min-height:100svh;padding-block:calc(var(--header-h) + 3rem) 4rem}.not-found__inner{display:grid;gap:2rem}@media (min-width: 62em){.not-found__inner{grid-template-columns:auto 1fr;align-items:center;gap:4rem}}.not-found__code{background:var(--stripe);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:clamp(7rem, calc(4rem + 16vw), 20rem);font-weight:900;font-stretch:125%;line-height:.85;letter-spacing:-.04em}.not-found__text{display:grid;justify-items:start;gap:1rem}.not-found__title{font-size:var(--fs-3xl);font-weight:900}.not-found__actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}@keyframes fade-up{from{opacity:0;transform:translateY(1.25rem)}to{opacity:1;transform:none}}@keyframes line-up{from{transform:translateY(110%)}to{transform:none}}@keyframes hero-zoom{from{transform:scale(1.14)}to{transform:scale(1)}}@keyframes scroll-line{0%{transform:translateY(-100%)}60%, 100%{transform:translateY(230%)}}@keyframes marquee{to{transform:translateX(-50%)}}.js [data-reveal]{opacity:0;translate:0 2rem;transition:opacity 1s var(--ease),translate 1.1s var(--ease);transition-delay:var(--reveal-delay, 0s)}.js [data-reveal].is-in{opacity:1;translate:0 0}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;transition-delay:0s !important}.js [data-reveal]{opacity:1;translate:none}.marquee__track{animation:none}.hero__scroll-line::after{animation:none}}
