@font-face{font-family:Chivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./chivo-vietnamese-wght-normal.BjQIDkhi.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Chivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./chivo-latin-ext-wght-normal.CuxPzFD0.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Chivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./chivo-latin-wght-normal.CPi3f958.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--ease-out:cubic-bezier(0, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.contents{display:contents}.hidden{display:none}.grow{flex-grow:1}}:root{--night:#121821;--ink:#18212c;--paper:#faf9f6;--stone:#efede8;--line:#cfcbc3;--muted:#4d555d;--gold:#f3c677;--white:#fffcf5;--muted-on-dark:#d6d7d8;--footer:#0d131b;--line-on-dark:#343c46;--ease-out:cubic-bezier(.22, 1, .36, 1);--text:"Chivo Variable", system-ui, sans-serif;--gutter:clamp(20px, 5.2vw, 94px);--space:clamp(76px, 9vw, 142px);--grid-gap:clamp(30px, 8vw, 130px);--header-height:84px;--heading:clamp(39px, 4.5vw, 72px);--body-large:clamp(18px, 1.4vw, 22px)}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 16px);background:var(--night)}body{background:var(--paper);color:var(--ink);font:400 17px/1.55 var(--text);margin:0}::selection{background:var(--gold);color:var(--night)}:focus-visible{outline-offset:5px;outline:2px solid}.shell{width:min(calc(100% - var(--gutter) * 2), 1380px);margin-inline:auto}.skip{z-index:21;inset:10px auto auto var(--gutter);background:var(--gold);color:var(--night);padding:10px 16px;position:fixed;transform:translateY(-180%)}.skip:focus{transform:translateY(0)}.site-header{z-index:20;color:var(--white);transition:background-color .3s var(--ease-out), box-shadow .3s var(--ease-out);background-color:#0000;position:fixed;inset:0 0 auto;box-shadow:inset 0 -1px #0000}.site-header[data-scrolled=true]{background-color:var(--night);box-shadow:inset 0 -1px var(--line-on-dark)}.header-layout{min-height:var(--header-height);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto;align-items:center;gap:24px;display:grid}.wordmark{width:fit-content;font:640 27px/1 var(--text);letter-spacing:-.06em;white-space:nowrap;align-items:center;gap:10px;display:inline-flex}.wordmark img{object-fit:contain}.main-nav,.languages{align-items:center;font-size:15px;display:flex}.main-nav{gap:clamp(24px,3.1vw,54px)}.main-nav a,.languages a{place-items:center;min-height:44px;display:grid}.main-nav a{text-align:center;min-width:0;position:relative}.main-nav a:after{transform-origin:0;background:var(--gold);content:"";height:1px;transition:transform .22s var(--ease-out);position:absolute;inset:auto 0 5px;transform:scaleX(0)}.main-nav a:hover:after,.main-nav a:focus-visible:after{transform:scaleX(1)}.main-nav a:hover,.back:hover,.languages a:hover,.footer-links a:hover{color:var(--gold)}.languages{color:var(--muted-on-dark);justify-self:end;gap:3px}.languages a{min-width:33px}.languages a[aria-current=page]{color:var(--gold);text-underline-offset:5px;text-decoration:underline}.header-contact{border:1px solid var(--gold);min-height:44px;color:var(--gold);white-space:nowrap;justify-content:space-between;align-items:center;gap:13px;padding:8px 15px;font-size:15px;font-weight:650;transition:background-color .2s,color .2s;display:inline-flex}.header-contact:hover{background:var(--gold);color:var(--night)}.header-contact span,.button span,.back span{transition:transform .23s var(--ease-out);display:inline-block}.header-contact:hover span{transform:translate(2px,-2px)}.button:hover span{transform:translateY(3px)}.back:hover span{transform:translateY(-3px)}.hero{--hero-top-shade:linear-gradient(180deg, #080c129e, #080c1266 var(--header-height), transparent calc(var(--header-height) + 110px));isolation:isolate;background:var(--night);min-height:clamp(710px,100svh,980px);color:var(--white);align-items:end;display:grid;position:relative;overflow:hidden}.hero-photo{z-index:-2;object-fit:cover;object-position:center 48%;width:100%;height:100%;position:absolute;inset:0}.hero:before{z-index:-1;background:var(--hero-top-shade), linear-gradient(0deg, #0a0e14d6, #0a0e142b 56%, transparent 100%), linear-gradient(90deg, #0a0e144d, transparent 68%);content:"";position:absolute;inset:0}.hero-content{padding-block:calc(var(--header-height) + 44px) clamp(56px, 8vw, 125px)}h1,h2{letter-spacing:-.055em;text-wrap:balance;font-weight:710}.hero h1{margin:0;font-size:clamp(64px,7.4vw,118px);line-height:.98}.hero h1 span{display:block}.hero-content>p{max-width:40ch;font-size:var(--body-large);margin-block:24px 26px;line-height:1.45}.button{background:var(--gold);min-height:53px;color:var(--night);justify-content:space-between;align-items:center;gap:26px;padding:12px 20px;font-size:16px;font-weight:650;transition:background-color .18s,transform .18s;display:inline-flex}.button:hover{background:var(--white);transform:translateY(-2px)}.hero-actions{flex-wrap:wrap;align-items:center;gap:10px 25px;display:flex}.hero-secondary{text-underline-offset:5px;align-items:center;gap:9px;min-height:48px;font-weight:580;display:inline-flex}.hero-secondary:hover{text-decoration:underline}.about{align-items:center;gap:var(--grid-gap);padding-block:var(--space);grid-template-columns:minmax(0,1fr) minmax(0,.8fr);display:grid}.about h2,.services h2,.contact h2,.service-overview h2,.related-services h2{font-size:var(--heading);margin:0 0 24px;line-height:1.02}.about h2{text-wrap:wrap;max-width:13ch}.about-copy p,.services-intro p,.contact-intro>p{max-width:53ch;font-size:var(--body-large)}.about-copy p{margin-top:1em}.bridge-detail{aspect-ratio:4/4.35;background:var(--stone);overflow:hidden}.bridge-detail img,.port-photo img{object-fit:cover;filter:grayscale();width:100%;height:100%}.bridge-detail img{object-position:center 75%}.services{background:var(--stone);padding-block:var(--space)}.services-layout{align-items:center;gap:var(--grid-gap);grid-template-columns:minmax(0,1fr) minmax(0,.9fr);display:grid}.services-intro h2{font-size:clamp(37px,4.3vw,65px)}.services-intro p{max-width:32ch}.port-photo{aspect-ratio:1.25;background:var(--line);overflow:hidden}.port-photo img{object-position:center 52%}.services-index{border-top:1px solid var(--line);margin-top:36px;display:grid}.services-index a{border-bottom:1px solid var(--line);text-underline-offset:4px;padding-block:13px;font-weight:620;text-decoration-color:#0000;transition:text-decoration-color .18s}.services-index a:hover{text-decoration:underline}.service-band{background:var(--stone);padding-block:clamp(40px,5vw,80px) clamp(72px,8vw,130px)}.service-section{--overlap:clamp(56px, 7vw, 120px);grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:var(--overlap) auto var(--overlap);padding-inline:var(--gutter);scroll-margin-top:var(--header-height);display:grid}.service-section+.service-section{margin-top:clamp(48px,6vw,96px)}.service-photo{background:var(--line);grid-area:1/1/3/9;min-height:clamp(360px,38vw,600px);overflow:hidden}.service-photo img{object-fit:cover;width:100%;height:100%}.service-copy{z-index:1;background:var(--night);color:var(--white);grid-area:2/7/4/13;align-self:end;padding:clamp(32px,3.6vw,60px)}.service-section[data-flip] .service-photo{grid-column:5/13}.service-section[data-flip] .service-copy{grid-column:1/7}.service-section[data-panel=light] .service-copy{background:var(--paper);color:var(--ink)}.service-section h3{letter-spacing:-.035em;text-wrap:balance;max-width:18ch;margin-bottom:20px;font-size:clamp(30px,3vw,48px);font-weight:700;line-height:1.04}.service-copy p{max-width:46ch;color:var(--muted-on-dark)}.service-section[data-panel=light] .service-copy p{color:var(--muted)}.service-copy .service-lead,.service-section[data-panel=light] .service-copy .service-lead{color:inherit;font-size:var(--body-large);margin-bottom:14px;line-height:1.45}.service-section[data-panel=dark] .text-link,.text-link{color:var(--gold)}.service-actions{flex-wrap:wrap;align-items:center;gap:14px 28px;margin-top:30px;display:flex}.text-link{color:#523911;text-underline-offset:4px;align-items:center;gap:8px;font-size:15px;font-weight:650;text-decoration:underline;display:inline-flex}.service-page{padding-top:var(--header-height);background:var(--paper)}.service-hero{background:var(--night);color:var(--white)}.service-hero-layout{grid-template-columns:minmax(0,1.1fr) minmax(0,.75fr);align-items:center;gap:clamp(30px,5vw,86px);padding-block:clamp(45px,7vw,110px);display:grid}.service-back{color:var(--gold);text-underline-offset:4px;align-items:center;gap:8px;font-size:15px;font-weight:620;display:inline-flex}.service-back:hover{text-decoration:underline}.service-hero h1{text-wrap:wrap;margin:18px 0;font-size:clamp(42px,5.15vw,84px);line-height:.98}.service-hero-copy>p{max-width:43ch;color:var(--muted-on-dark);font-size:var(--body-large);margin-bottom:24px}.service-hero-photo{aspect-ratio:1.2;background:var(--footer);overflow:hidden}.service-hero-photo img{object-fit:cover;object-position:center;width:100%;height:100%}.service-overview{background:var(--paper);grid-template-columns:minmax(0,.8fr) minmax(0,1fr);align-items:start;gap:20px 9%;padding-block:clamp(56px,6vw,100px);display:grid}.service-overview h2,.related-services h2{margin:0;font-size:clamp(31px,3.4vw,52px)}.service-overview p{max-width:48ch;font-size:var(--body-large)}.related-services{background:var(--stone);padding-block:clamp(52px,6vw,95px)}.related-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1fr);align-items:start;gap:18px 9%;display:grid}.related-links{border-top:1px solid var(--line)}.related-links a{border-bottom:1px solid var(--line);justify-content:space-between;gap:15px;padding-block:15px;font-weight:630;display:flex}.related-links a:hover{color:#62431c}.contact,.site-footer{background:var(--night);color:var(--white)}.contact{padding-block:var(--space) clamp(64px, 7vw, 110px)}.contact-layout{grid-template-rows:auto 1fr;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);align-items:start;gap:28px clamp(28px,7vw,116px);display:grid}.contact h2{max-width:12.5ch;color:var(--gold);text-wrap:wrap}.contact-intro>p{max-width:41ch;color:var(--muted-on-dark)}.contact-details{grid-area:2/1;font-style:normal}.person{font-size:var(--body-large);font-weight:650}.role{color:var(--muted-on-dark);margin:2px 0 18px}.contact-link{border-bottom:1px solid #575f67;justify-content:space-between;align-items:center;gap:12px;width:min(100%,26ch);min-height:44px;font-size:17px;display:flex}.contact-link:hover{color:var(--gold)}.contact-form-panel{background:var(--paper);min-width:0;color:var(--ink);grid-area:1/2/span 2;padding:clamp(22px,3.2vw,46px)}.form-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.form-fields label{align-content:start;gap:6px;min-width:0;font-size:15px;font-weight:620;display:grid}.form-wide{grid-column:1/-1}.form-fields input,.form-fields select,.form-fields textarea{width:100%;min-width:0;min-height:46px;color:var(--ink);background:#fff;border:1px solid #a6a29a;padding:9px 11px;font-size:16px;font-weight:400}.form-fields textarea{resize:vertical}.form-fields [aria-invalid=true]{border-color:#973526}.form-error,.field-error{color:#842e22}.form-error{margin-bottom:16px}.contact-notice{font-weight:650}.contact-form-panel .button{cursor:pointer;margin-top:20px}.contact-form-panel .button:hover{background:#e4ad57}.contact-form-panel .button:disabled{cursor:wait;opacity:.7;transform:none}@media (width<=470px){.form-fields{grid-template-columns:minmax(0,1fr)}}.site-footer{background:var(--footer)}.footer-layout{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,.65fr);align-items:start;gap:24px;padding-block:clamp(36px,5.3vw,76px);display:grid}.footer-layout .wordmark{font-size:clamp(28px,3vw,44px)}.footer-links{justify-items:start;gap:2px;display:grid}.footer-links a{align-items:center;min-height:40px;transition:color .16s;display:inline-flex}.footer-languages a[aria-current=page]{color:var(--gold)}.footer-meta{border-top:1px solid var(--line-on-dark);grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:18px;padding-block:18px;display:grid}.credits,.back{color:var(--muted-on-dark);font-size:15px}.credits summary{cursor:pointer}.credits summary,.back{align-content:center;min-height:44px}.credits a{text-underline-offset:3px;text-decoration:underline}.credits ul,.credits p{margin-top:10px}@media (prefers-reduced-motion:no-preference){.hero-photo{animation:bridge-arrival 1.8s var(--ease-out) both}.hero h1 span,.hero-content>p{animation:appear .86s var(--ease-out) both}.hero h1 span+span{animation-delay:.14s}.hero-content>p{animation-delay:.24s}.hero-actions{animation:action-arrival .64s var(--ease-out) .34s both}.entered{animation:section-arrival .72s var(--ease-out) both}.entered:nth-child(3n+2){animation-delay:70ms}.entered:nth-child(3n){animation-delay:.13s}.entered[data-enter=photo] img{animation:bridge-arrival 1.1s var(--ease-out) both}@keyframes bridge-arrival{0%{transform:scale(1.07)}to{transform:scale(1)}}@keyframes appear{0%{opacity:0;translate:0 24px}to{opacity:1;translate:0}}@keyframes action-arrival{0%{opacity:0}to{opacity:1}}@keyframes section-arrival{0%{opacity:.55;translate:0 24px}to{opacity:1;translate:0}}}@media (width<=850px){.about,.services-layout,.contact-layout{gap:38px}.contact-layout{grid-template-columns:minmax(0,.75fr) minmax(0,1fr)}}@media (width<=720px){:root{--header-height:108px;--heading:clamp(36px, 8.8vw, 61px)}.header-layout{grid-template-columns:minmax(0,1fr) auto;align-content:center;gap:5px 10px}.header-layout .wordmark{font-size:24px}.header-layout .wordmark img{width:34px;height:35px}.main-nav{grid-area:2/1;gap:clamp(9px,3vw,18px);font-size:14px;line-height:1.15}.languages{grid-area:1/2}.header-contact{grid-area:2/2;justify-self:end;gap:7px;padding-inline:9px;font-size:14px}.hero{min-height:clamp(660px,100svh,840px)}.hero-photo{object-position:18% center}.hero:before{background:var(--hero-top-shade), linear-gradient(0deg, #0a0e14f0, #0a0e147d 50%, transparent 88%)}.hero-content{padding-block:calc(var(--header-height) + 76px) 42px}.hero h1{font-size:clamp(40px,10.9vw,74px)}:lang(en) .hero h1{font-size:clamp(35px,10vw,70px)}.hero-content>p{max-width:31ch;margin-block:20px}.about,.services-layout,.contact-layout{grid-template-columns:minmax(0,1fr);gap:32px}.contact-layout{grid-template-rows:auto}.contact-form-panel,.contact-details{grid-area:auto}.bridge-detail{aspect-ratio:5/4}.port-photo{aspect-ratio:1.9}.service-section{grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr);padding-inline:0}.service-photo,.service-section[data-flip] .service-photo{aspect-ratio:16/11;grid-area:1/1;min-height:0}.service-copy,.service-section[data-flip] .service-copy{margin:-48px var(--gutter) 0;grid-area:2/1;padding:30px 24px 34px}.service-hero-layout,.service-overview,.related-layout{grid-template-columns:minmax(0,1fr)}.service-hero-photo{aspect-ratio:1.8}.service-hero h1{overflow-wrap:anywhere;font-size:clamp(32px,8.8vw,50px)}.footer-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.footer-layout .wordmark{grid-column:1/-1}.footer-meta{gap:12px;font-size:14px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
