@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/space-grotesk-vietnamese-wght-normal.D0rl6rjA.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/space-grotesk-latin-ext-wght-normal.D9tNdqV9.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/space-grotesk-latin-wght-normal.BhU9QXUp.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-vietnamese-wght-normal.Czsa-EzN.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-latin-ext-wght-normal.C-3rgBeH.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-latin-wght-normal.CCVVNp6i.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #f6f4ef;--bg-strong: #fdfbf8;--ink: #121212;--muted: #4a4d5d;--line: #d7d2c8;--signal: #1f6a64;--signal-2: #d34f35;--surface: rgba(255, 255, 255, .76);--radius-sm: 12px;--radius-md: 20px;--radius-lg: 28px;--shadow-soft: 0 20px 40px rgba(30, 26, 18, .08);--shadow-strong: 0 14px 24px rgba(18, 22, 30, .2);--content-width: min(1120px, calc(100% - 2.5rem) );--space-1: .35rem;--space-2: .55rem;--space-3: .9rem;--space-4: 1.2rem;--space-5: 1.6rem;--type-eyebrow-size: .76rem;--type-meta-size: .92rem;--type-title-simple-size: clamp(1.5rem, 2.8vw, 2rem);--type-title-large-size: clamp(2rem, 6vw, 4.25rem);--type-title-line-height: .96;--section-padding: clamp(var(--space-4), 2vw, 2rem);--section-margin-block: 2.5rem;--card-padding: 1rem;--card-media-radius: 14px;--card-media-margin-bottom: .8rem;--grid-gap: 1rem;--nav-wrap-margin-top: var(--space-3);--nav-padding-x: var(--space-2);--nav-padding-y: .45rem;--button-padding: .72rem 1.15rem;--button-gap: .45rem;--ease-header: cubic-bezier(.22, 1, .36, 1);--dur-fast: .18s;--dur-mid: .24s;--dur-slow: .52s;--dur-card-rise: .42s;--dur-glint: .76s;--distance-header-rise: 8px;--distance-card-rise: 6px;--distance-hover-lift: -2px;--delay-header-title: 80ms;--delay-header-meta: .14s;--delay-header-actions: .2s;--delay-card-2: 60ms;--delay-card-3: .11s;--header-glint-opacity: 16%}:root[data-theme=dark]{--bg: #111315;--bg-strong: #181b20;--ink: #ede7df;--muted: #b9b6b0;--line: #2d323a;--signal: #65b4c8;--signal-2: #e38163;--surface: rgba(17, 19, 23, .8);--shadow-soft: 0 24px 36px rgba(0, 0, 0, .34);--shadow-strong: 0 18px 36px rgba(0, 0, 0, .4)}:root[data-motion=subtle]{--dur-mid: .18s;--dur-slow: .42s;--dur-card-rise: .3s;--dur-glint: .62s;--distance-header-rise: 5px;--distance-card-rise: 4px;--distance-hover-lift: -1px;--header-glint-opacity: 9%;--delay-header-title: 60ms;--delay-header-meta: .1s;--delay-header-actions: .14s;--delay-card-2: 40ms;--delay-card-3: 70ms}:root[data-motion=expressive]{--dur-mid: .28s;--dur-slow: .62s;--dur-card-rise: .5s;--dur-glint: .9s;--distance-header-rise: 10px;--distance-card-rise: 8px;--distance-hover-lift: -3px;--header-glint-opacity: 22%;--delay-header-title: .11s;--delay-header-meta: .18s;--delay-header-actions: .24s;--delay-card-2: 90ms;--delay-card-3: .15s}*{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100%}body{font-family:Space Grotesk Variable,Segoe UI,sans-serif;color:var(--ink);background:radial-gradient(circle at 8% 8%,rgba(211,79,53,.14),transparent 28%),radial-gradient(circle at 92% 15%,rgba(31,106,100,.15),transparent 36%),linear-gradient(165deg,#f8f5ee,#f2eee5 46%,#ece7dc);line-height:1.5;transition:background-color .26s ease,color .26s ease}:root[data-theme=dark] body{background:radial-gradient(circle at 8% 8%,rgba(227,129,99,.14),transparent 36%),radial-gradient(circle at 90% 16%,rgba(101,180,200,.14),transparent 40%),linear-gradient(170deg,#101315,#11161d 45%,#17161a)}a{color:inherit;text-decoration-thickness:.08em;text-underline-offset:.15em}.site-wrap{width:var(--content-width);margin:0 auto}.site-nav-wrap{position:sticky;top:0;z-index:12;margin-top:var(--nav-wrap-margin-top)}.site-nav{width:var(--content-width);margin:0 auto;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(10px);padding:var(--nav-padding-y) var(--nav-padding-x);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.6rem}.site-mark{font-weight:650;letter-spacing:.02em;text-decoration:none;padding:var(--space-1) var(--space-2);border-radius:999px}.site-nav-links{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:center}.site-nav-controls{display:flex;gap:.35rem;align-items:center;justify-self:end}.site-nav-link{text-decoration:none;font-size:.9rem;color:var(--muted);border-radius:999px;padding:var(--space-1) .7rem;border:1px solid transparent;transition:border-color var(--dur-fast) ease,color var(--dur-fast) ease,background-color var(--dur-fast) ease}.site-nav-link:hover{color:var(--ink);border-color:var(--line)}.site-nav-link.active{color:var(--ink);background:var(--bg-strong);border-color:var(--line)}.section{margin-block:var(--section-margin-block);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);backdrop-filter:blur(8px);box-shadow:var(--shadow-soft);padding:var(--section-padding)}.site-wrap>.section:first-child{position:relative;overflow:hidden;transition:transform calc(var(--dur-slow) - .16s) var(--ease-header),border-color .28s ease,box-shadow .32s ease}.site-wrap>.section:first-child:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(112deg,transparent 20%,color-mix(in srgb,var(--signal) var(--header-glint-opacity),transparent) 48%,transparent 78%);transform:translate(-130%);transition:transform var(--dur-glint) var(--ease-header)}.site-wrap>.section:first-child:hover,.site-wrap>.section:first-child:focus-within{transform:translateY(var(--distance-hover-lift));border-color:color-mix(in srgb,var(--line) 70%,var(--signal) 30%);box-shadow:0 22px 34px #12161e1c}.site-wrap>.section:first-child:hover:after,.site-wrap>.section:first-child:focus-within:after{transform:translate(130%)}.eyebrow{display:inline-flex;align-items:center;gap:.5rem;margin-bottom:var(--space-4);font-size:.76rem;font-size:var(--type-eyebrow-size);letter-spacing:.11em;text-transform:uppercase;color:var(--muted);font-weight:640}.eyebrow:before{content:"";width:1.2rem;height:2px;background:linear-gradient(90deg,var(--signal),var(--signal-2))}.title-large{font-family:Newsreader Variable,Georgia,serif;font-size:var(--type-title-large-size);line-height:var(--type-title-line-height);letter-spacing:-.02em;margin:0}.title-simple{margin:0;font-size:var(--type-title-simple-size);letter-spacing:.01em;font-weight:620}.grid{display:grid;gap:var(--grid-gap)}.card{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg-strong);padding:var(--card-padding);transition:transform var(--dur-mid) ease,box-shadow var(--dur-mid) ease,border-color var(--dur-mid) ease}.card:hover{transform:translateY(var(--distance-hover-lift));border-color:color-mix(in srgb,var(--line) 74%,var(--signal) 26%);box-shadow:0 10px 18px #12161e14}.card-media{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:var(--card-media-radius);margin-bottom:var(--card-media-margin-bottom);border:1px solid var(--line);display:block}.card-media-skeleton,.skeleton-line{background:linear-gradient(100deg,#7d7d7d29 20%,#a0a0a03d,#7d7d7d29 70%);background-size:220% 100%;animation:skeleton-wave 1.15s ease-in-out infinite}.skeleton-line{height:.85rem;border-radius:999px;margin:0}.card h3,.card h4{margin-top:.2rem;margin-bottom:.35rem}.meta{margin:0;color:var(--muted);font-size:var(--type-meta-size)}.photo-card-label,.photo-related-label,.photo-kicker{margin:0;color:var(--muted);font-size:.76rem;letter-spacing:.11em;text-transform:uppercase;font-weight:640}.photo-card-series,.photo-related-series,.photo-subheader{margin:0;color:color-mix(in srgb,var(--ink) 76%,var(--muted));font-size:clamp(.98rem,1.55vw,1.12rem);letter-spacing:.01em;font-weight:540}.photo-card-dek{margin:0}.button-link{display:inline-flex;align-items:center;justify-content:center;font-weight:620;gap:var(--button-gap);border-radius:999px;border:1px solid transparent;padding:var(--button-padding);text-decoration:none;transition:transform var(--dur-mid) ease,box-shadow var(--dur-mid) ease,border-color var(--dur-mid) ease}.button-link.primary{background:#152d40;color:#f9f9f6;box-shadow:var(--shadow-strong)}.button-link.secondary{border-color:var(--line);background:var(--bg-strong)}.card-link{display:inline-flex;align-items:center;gap:.4rem;width:max-content;margin-top:.1rem;color:var(--ink);font-weight:620;text-decoration:none;border-bottom:1px solid color-mix(in srgb,var(--line) 88%,var(--signal) 12%);padding-bottom:.15rem;transition:color var(--dur-mid) ease,border-color var(--dur-mid) ease,transform var(--dur-mid) ease}.card-link:after{content:"→";transition:transform var(--dur-mid) ease}.card-link:hover{color:var(--signal);border-color:var(--signal);transform:translate(1px)}.card-link:hover:after{transform:translate(2px)}.card-link:focus-visible{outline:2px solid var(--signal);outline-offset:3px;border-bottom-color:transparent}.button-link:hover{transform:translateY(var(--distance-hover-lift))}.button-link:focus-visible,.tab:focus-visible{outline:2px solid var(--signal);outline-offset:2px}.capability-tabs{display:grid;gap:.9rem}.tab-list{display:flex;flex-wrap:wrap;gap:.6rem}.tab{border:1px solid var(--line);border-radius:999px;background:var(--bg-strong);padding:.55rem .95rem;font:inherit;font-size:.9rem;cursor:pointer;transition:border-color var(--dur-mid) ease,transform var(--dur-mid) ease,background-color var(--dur-mid) ease}.tab.active{border-color:transparent;color:#f9f9f5;background:linear-gradient(120deg,#1c526a,#2d6d45)}.tab-panel{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg-strong);padding:1rem}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:999px;background:var(--bg-strong);color:var(--ink);font:inherit;font-size:.86rem;padding:.45rem .9rem;cursor:pointer;transition:transform var(--dur-fast) ease,border-color var(--dur-fast) ease}.motion-toggle{display:inline-flex;align-items:center;justify-content:center;border:1px solid color-mix(in srgb,var(--signal) 45%,var(--line));border-radius:999px;background:linear-gradient(135deg,color-mix(in srgb,var(--signal) 14%,var(--bg-strong)) 0%,var(--bg-strong) 60%);color:var(--ink);font:inherit;font-size:.86rem;padding:.45rem .9rem;cursor:pointer;transition:transform var(--dur-fast) ease,border-color var(--dur-fast) ease,background-color var(--dur-fast) ease,box-shadow var(--dur-fast) ease;box-shadow:0 0 #1f6a6400}@media(max-width:52rem){.site-nav{border-radius:var(--radius-lg);grid-template-columns:1fr;justify-items:center;padding:.7rem}.site-nav-links{justify-content:center}.site-nav-controls{justify-self:center;flex-wrap:wrap;justify-content:center}}.theme-toggle:hover{transform:translateY(-1px);border-color:var(--signal)}.motion-toggle:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--signal) 70%,var(--line));box-shadow:0 8px 16px #1f6a6414}.tab-panel h3{margin:0;font-size:1.25rem}.tab-panel p{margin:.6rem 0}.tab-panel ul{margin:0;padding-left:1.25rem;display:grid;gap:.42rem}@media(min-width:52rem){.section{margin-block:3rem;padding:2rem}.split{grid-template-columns:1.1fr .9fr;align-items:start}.triple{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(prefers-reduced-motion:no-preference){.site-wrap>.section:first-child .eyebrow,.site-wrap>.section:first-child .title-simple,.site-wrap>.section:first-child .title-large,.site-wrap>.section:first-child .meta,.site-wrap>.section:first-child p,.site-wrap>.section:first-child .button-link{opacity:0;transform:translateY(var(--distance-header-rise));animation:header-rise var(--dur-slow) var(--ease-header) both}.site-wrap>.section:first-child .title-simple,.site-wrap>.section:first-child .title-large{animation-delay:var(--delay-header-title)}.site-wrap>.section:first-child .meta{animation-delay:var(--delay-header-meta)}.site-wrap>.section:first-child .button-link{animation-delay:var(--delay-header-actions)}.grid>.card{opacity:0;transform:translateY(var(--distance-card-rise));animation:card-rise var(--dur-card-rise) ease both}.grid>.card:nth-child(2){animation-delay:var(--delay-card-2)}.grid>.card:nth-child(3){animation-delay:var(--delay-card-3)}}@media(prefers-reduced-motion:reduce){.site-wrap>.section:first-child .eyebrow,.site-wrap>.section:first-child .title-simple,.site-wrap>.section:first-child .title-large,.site-wrap>.section:first-child .meta,.site-wrap>.section:first-child p,.site-wrap>.section:first-child .button-link,.grid>.card{animation:none!important;opacity:1!important;transform:none!important}.site-wrap>.section:first-child{transition:none!important;transform:none!important}.site-wrap>.section:first-child:after{display:none}.motion-toggle,.theme-toggle{transition:none!important;transform:none!important}}@keyframes header-rise{0%{opacity:0;transform:translateY(var(--distance-header-rise))}to{opacity:1;transform:translateY(0)}}@keyframes card-rise{0%{opacity:0;transform:translateY(var(--distance-card-rise))}to{opacity:1;transform:translateY(0)}}@keyframes skeleton-wave{0%{background-position:120% 0}to{background-position:-120% 0}}
