*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.text-\[2\.5rem\]{font-size:2.5rem}.leading-\[1\.05\]{line-height:1.05}.leading-\[1\.25\]{line-height:1.25}.border-white\/12{border-color:#ffffff1f}.border-current\/15{border-color:color-mix(in srgb,currentColor 15%,transparent)}.bg-current\/8{background-color:color-mix(in srgb,currentColor 8%,transparent)}.gap-x-5{-moz-column-gap:1.25rem;column-gap:1.25rem}.pb-4{padding-bottom:1rem}@media (width>=420px){.container{max-width:420px}}@media (width>=640px){.container{max-width:640px}}@media (width>=768px){.container{max-width:768px}}@media (width>=1024px){.container{max-width:1024px}}@media (width>=1280px){.container{max-width:1280px}}@media (width>=640px){.sm\:block{display:block}.sm\:inline-block{display:inline-block}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:gap-1\.5{gap:.375rem}.sm\:gap-6{gap:1.5rem}.sm\:gap-8{gap:2rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:py-8{padding-top:2rem;padding-bottom:2rem}.sm\:text-5xl{font-size:3rem;line-height:1}.sm\:text-6xl{font-size:3.75rem;line-height:1}}@media (width>=768px){.md\:-left-\[calc\(3rem\+5px\)\]{left:calc(-3rem - 5px)}.md\:col-span-1{grid-column:span 1/span 1}.md\:col-span-2{grid-column:span 2/span 2}.md\:col-span-4{grid-column:span 4/span 4}.md\:col-span-5{grid-column:span 5/span 5}.md\:col-span-6{grid-column:span 6/span 6}.md\:col-span-7{grid-column:span 7/span 7}.md\:mx-0{margin-left:0;margin-right:0}.md\:block{display:block}.md\:flex{display:flex}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-\[1fr_260px\]{grid-template-columns:1fr 260px}.md\:grid-cols-\[1fr_280px\]{grid-template-columns:1fr 280px}.md\:grid-cols-\[200px_1fr\]{grid-template-columns:200px 1fr}.md\:grid-cols-\[260px_1fr\]{grid-template-columns:260px 1fr}.md\:gap-10{gap:2.5rem}.md\:gap-3{gap:.75rem}.md\:gap-8{gap:2rem}.md\:py-20{padding-top:5rem;padding-bottom:5rem}.md\:py-24{padding-top:6rem;padding-bottom:6rem}.md\:py-28{padding-top:7rem;padding-bottom:7rem}.md\:py-32{padding-top:8rem;padding-bottom:8rem}.md\:py-7{padding-top:1.75rem;padding-bottom:1.75rem}.md\:pb-14{padding-bottom:3.5rem}.md\:pb-16{padding-bottom:4rem}.md\:pb-20{padding-bottom:5rem}.md\:pb-24{padding-bottom:6rem}.md\:pl-12{padding-left:3rem}.md\:pt-24{padding-top:6rem}.md\:pt-36{padding-top:9rem}.md\:pt-8{padding-top:2rem}.md\:text-2xl{font-size:1.5rem;line-height:2rem}.md\:text-3xl{font-size:1.875rem;line-height:2.25rem}.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}.md\:text-5xl{font-size:3rem;line-height:1}.md\:text-6xl{font-size:3.75rem;line-height:1}.md\:text-7xl{font-size:4.5rem;line-height:1}.md\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (width>=1024px){.lg\:order-none{order:0}.lg\:col-span-3{grid-column:span 3/span 3}.lg\:col-span-4{grid-column:span 4/span 4}.lg\:col-span-5{grid-column:span 5/span 5}.lg\:col-span-7{grid-column:span 7/span 7}.lg\:col-span-8{grid-column:span 8/span 8}.lg\:col-start-3{grid-column-start:3}.lg\:col-start-6{grid-column-start:6}.lg\:col-start-8{grid-column-start:8}.lg\:col-start-9{grid-column-start:9}.lg\:mb-0{margin-bottom:0}.lg\:h-14{height:3.5rem}.lg\:w-14{width:3.5rem}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:gap-14{gap:3.5rem}.lg\:px-10{padding-left:2.5rem;padding-right:2.5rem}.lg\:px-12{padding-left:3rem;padding-right:3rem}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.lg\:py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.lg\:text-5xl{font-size:3rem;line-height:1}.lg\:text-6xl{font-size:3.75rem;line-height:1}.lg\:text-7xl{font-size:4.5rem;line-height:1}.lg\:text-\[16px\]{font-size:16px}.lg\:text-\[4\.4rem\]{font-size:4.4rem}.lg\:text-\[5\.2rem\]{font-size:5.2rem}}@font-face{font-family:Archivo;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/archivo-latin-600-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Archivo;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/archivo-latin-700-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Archivo;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/archivo-latin-800-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/fraunces-latin-600-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/fraunces-latin-700-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono-latin-400-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-mono-latin-500-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:Inter,Noto Sans JP,system-ui,sans-serif;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:IBM Plex Mono,ui-monospace,monospace;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}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.font-display{letter-spacing:-.028em;font-weight:700}h1.font-display,.font-display.text-5xl,.font-display.text-6xl,.font-display.text-7xl{letter-spacing:-.035em;font-weight:800}p,li{font-size:17px}:root{--ink:#06090b;--navy:#0f1720;--paper:#fafaf8;--brass:#b5603c;--steel:#6b7280;--seal:#009c9a;--seal-text:#008180;--brass-text:#a85634;--brass-dark:#c87450;--seal-hover:#00706f;--seal-solid:#00817f}html{-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}body{color:#1a1a1a;background:#fafaf8;line-height:1.6}::-moz-selection{background:var(--seal);color:#fff}::selection{background:var(--seal);color:#fff}:focus-visible{outline:2px solid var(--seal);outline-offset:3px}.container{width:100%}@media (width>=420px){.container{max-width:420px}}@media (width>=640px){.container{max-width:640px}}@media (width>=768px){.container{max-width:768px}}@media (width>=1024px){.container{max-width:1024px}}@media (width>=1280px){.container{max-width:1280px}}.g12{-moz-column-gap:1.5rem;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:1.5rem;display:grid}@media (width<=900px){.g12{-moz-column-gap:1rem;column-gap:1rem}}.c-7{grid-column:1/span 7}.c-8{grid-column:1/span 8}.c-4{grid-column:9/span 4}.c-3{grid-column:10/span 3}@media (width<=900px){.c-7,.c-5,.c-8,.c-4,.c-6a,.c-6b,.c-9,.c-3,.c-10,.c-read{grid-column:1/-1}}.band-open{padding-block:clamp(3.25rem,6.5vw,5.5rem)}.band-dense{padding-block:clamp(2rem,3.8vw,3rem)}.meta{letter-spacing:.06em;color:#6b7280;font-family:IBM Plex Mono,ui-monospace,Menlo,monospace;font-size:12px}.meta-w{color:#ffffff80}.idx{font-variant-numeric:tabular-nums}.arch{border-top:1px solid var(--color-divider,#e6e7e9)}.arch:last-of-type{border-bottom:1px solid var(--color-divider,#e6e7e9)}.arch .thumb img{transition:transform 1.1s cubic-bezier(.22,1,.36,1),opacity .5s}.arch:hover .thumb img{transform:scale(1.03)}.arch .go{opacity:0;transition:transform .45s cubic-bezier(.22,1,.36,1),opacity .35s;transform:translate(-6px)}.arch:hover .go{opacity:1;transform:none}.arch:hover .arch-title{color:var(--seal)}@media (width>=1024px){.rail{align-self:start;position:sticky;top:6.5rem}}.rail dt{letter-spacing:.06em;color:#6b7280;margin-bottom:.2rem;font-size:12px}.rail dd{color:#1a1a1a;margin-bottom:1.35rem;font-size:15px}.rail dd:last-child{margin-bottom:0}@media (width>=1024px){.stick-media{height:100svh;position:sticky;top:0}}.rise{opacity:0;transform:translateY(12px)}.rise.in{opacity:1;transition:opacity .45s cubic-bezier(.2,.6,.2,1),transform .45s cubic-bezier(.2,.6,.2,1);transform:none}.rise-d1.in{transition-delay:60ms}.rise-d2.in{transition-delay:.12s}.rise-d3.in{transition-delay:.18s}.drift{transform-origin:50% 55%;backface-visibility:hidden}@media (width>=768px){.drift{animation:14s cubic-bezier(.16,.6,.2,1) forwards drift}}@keyframes drift{0%{transform:scale(1.08)translateZ(0)}to{transform:scale(1)translateZ(0)}}.wipe{clip-path:inset(0 100% 0 0)}.wipe.in{clip-path:inset(0);transition:clip-path .7s cubic-bezier(.65,0,.35,1)}.veil{background:linear-gradient(#06090b1f 0%,#06090b8c 58%,#06090beb 100%)}.veil-soft{background:linear-gradient(#06090b00 0%,#06090b4d 40%,#06090bcc 100%)}.bar{transition:transform .6s cubic-bezier(.22,1,.36,1);transform:scaleY(0)}.in .bar,.rise.in .bar{transform:scaleY(1)}.hdr-over{background:linear-gradient(#06090b8c,#06090b00);border-bottom-color:#ffffff24}.hdr-over .lang-on{color:#fff;border-color:var(--seal);background:#009c9a2e}.hdr-over .lang-off{color:#ffffff9e;border-color:#ffffff38}.hdr-over .lang-off:hover{color:#fff;border-color:#fff9}.hdr-over.stuck{border-bottom-color:var(--color-divider,#e6e7e9);background:#fafaf8}.hdr-over.stuck .burger span{background:#0f1720}.hdr-over.stuck nav a{color:#6b7280}.hdr-over.stuck .lang-on{color:#0f1720;border-color:var(--seal);background:#009c9a24}.hdr-over.stuck .lang-off{color:#6b7280;border-color:#e6e7e9}.hdr-over.stuck .lang-off:hover{color:#0f1720;border-color:#0f1720}.hdr-over.stuck .logo-over{display:none}.hdr-over.stuck .logo-stuck{display:block}header:not(.hdr-over) .lang-on{color:#0f1720;border-color:var(--seal);background:#009c9a24}header:not(.hdr-over) .lang-off{color:#6b7280;border-color:#e6e7e9}header:not(.hdr-over) .lang-off:hover{color:#0f1720;border-color:#0f1720}[dir=rtl] .meta{letter-spacing:0}[dir=rtl] .draw{margin-left:auto;margin-right:0}[dir=rtl] .bar{transform-origin:100%}[dir=rtl] .arch .go{transform:translate(6px)scaleX(-1)}[dir=rtl] .arch:hover .go{transform:scaleX(-1)}[dir=rtl] .ul-link{background-position:100% 100%}[dir=rtl] .rise{transform:translateY(18px)}[dir=rtl] ol[class*=border-l]{border-left:0;border-right:1px solid;padding-left:0;padding-right:2rem}[dir=rtl] ol[class*=border-l] span{left:auto;right:calc(-2rem - 5px)}[dir=rtl] .border-l-2{border-left:0;border-right-width:2px;padding-left:0;padding-right:1.25rem}@media (width>=768px){[dir=rtl] ol[class*=border-l]{padding-right:3rem}[dir=rtl] ol[class*=border-l] span{right:calc(-3rem - 5px)}}.logo-mark{height:32px!important}@media (width>=640px){.logo-mark{height:44px!important}}@media (width>=1024px){.logo-mark{height:56px!important}}@media (width>=1280px){.logo-mark{height:62px!important}}.lang-short{display:none}.lang-btn{border:1px solid #0000;padding:.42rem .7rem;font-size:13px;font-weight:500;line-height:1;transition:color .2s,border-color .2s,background .2s}@media (width>=1024px){.lang-btn{padding:.55rem .95rem;font-size:15px}}/* content-visibility:auto with contain-intrinsic-size:auto 600px was set on every section. A section holding 126px of onward links reserved 600px while it sat off screen, so the page carried a 474px void that closed only once that section had been painted and opened again on scrolling back. Measured on 20 of 32 project pages. The rendering saving on a static page of this size does not pay for that. */header,footer,#sheet{content-visibility:visible}.drift,.tile img,.rise,.card-hit{will-change:auto}.rise:not(.in){will-change:opacity, transform}.slides .slide{contain:paint}.tile img,.card-hit img{transform:translateZ(0)}.rise.in{will-change:auto}.tile:hover img{will-change:transform}@media (width>=1024px){.hdr-over~main>section:first-child>div:last-child{padding-top:6rem}}@media (width<=639px){.logo-mark{height:26px!important}.lang-btn{letter-spacing:0;padding:.38rem .55rem;font-size:12px}.lang-full{display:none}.lang-short{display:inline}.burger{width:40px!important;height:40px!important}section.relative[class*=svh]{height:74svh!important;min-height:460px!important}h1{letter-spacing:-.02em}.band-open{padding-block:3.5rem}.band-dense{padding-block:2.25rem}.g12{row-gap:2.5rem}p,li{font-size:16px;line-height:1.65}.meta{font-size:11px}}@media (width<=380px){.lang-ar-long{display:none}.logo-mark{height:24px!important}}.tile.rise.in figure{transition-delay:0s}.tile.rise.in h2,.tile.rise.in h3,.tile.rise.in p,.tile.rise.in .meta{transition-delay:.12s}#prog{z-index:60;background:var(--seal);transform-origin:0;will-change:transform;height:2px;position:fixed;top:0;left:0;right:0;transform:scaleX(0)}[dir=rtl] #prog{transform-origin:100%}@media (prefers-reduced-motion:reduce){#prog{display:none}}.pick{text-align:left;cursor:pointer;background:0 0;border:0;width:100%;padding:0;display:block}.pick .pick-img{transition:opacity .25s}.pick:hover .pick-img{opacity:.88}.pick-body{padding-top:1rem;display:block}.pick-label{letter-spacing:-.02em;color:#0f1720;font-family:Archivo,sans-serif;font-size:1.4rem;font-weight:700;transition:color .2s;display:block}.pick:hover .pick-label,.pick.on .pick-label{color:var(--seal)}.pick-also{color:#6b7280;margin-top:.3rem;font-size:.95rem;display:block}.pick-n{opacity:.55;margin-top:.6rem;display:block}.pick.on .pick-img{outline:3px solid var(--seal);outline-offset:-3px}.pick:focus-visible{outline:2px solid var(--seal);outline-offset:4px}.dl{white-space:nowrap;background:var(--seal);color:#fff;align-items:center;gap:.6rem;padding:.8rem 1.5rem;font-size:.98rem;transition:background .2s;display:inline-flex}.dl:hover{background:var(--seal-hover)}.dl svg{flex:0 0 15px;width:15px;height:15px}.dl-row{align-items:start;gap:1.5rem;padding:2rem 0;display:grid}@media (width>=768px){.dl-row{grid-template-columns:1fr auto}.dl-row .dl{margin-top:2rem}}.slides .slide{opacity:0;will-change:opacity;animation:30s infinite slidefade}@keyframes slidefade{0%{opacity:0}2%{opacity:1}18%{opacity:1}20%{opacity:0}to{opacity:0}}@media (prefers-reduced-motion:reduce){.slides .slide{opacity:0;animation:none}.slides .slide:first-of-type,.slides picture:first-child .slide{opacity:1}}.globe{width:100%;position:relative}.menu-nav{margin:0;padding:0;list-style:none}.menu-row{color:#fff;border-bottom:1px solid #ffffff12;align-items:baseline;gap:1rem;padding:.52rem 0;text-decoration:none;transition:color .22s;display:flex}.menu-nav li:first-child .menu-row{border-top:1px solid #ffffff12}.menu-n{letter-spacing:.08em;color:#ffffff80;flex:none;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.72rem;transition:color .22s}.menu-t{letter-spacing:-.025em;font-family:Archivo,sans-serif;font-size:1.4rem;font-weight:700;line-height:1.25}@media (width>=640px){.menu-t{font-size:1.7rem}}@media (width>=1024px){.menu-t{font-size:2rem}.menu-row{gap:1.3rem;padding:.62rem 0}}.menu-row:hover,.menu-row:hover .menu-n{color:var(--seal)}.menu-row:focus-visible{outline:2px solid var(--seal);outline-offset:4px}.menu-lang{color:#ffffff8c;border:1px solid #ffffff2e;padding:.4rem .8rem;font-size:14px;line-height:1;transition:color .2s,border-color .2s,background .2s}.menu-lang:hover{color:#fff;border-color:#ffffff80}.menu-lang.is-on{color:#fff;border-color:var(--seal);background:#009c9a29}.rule{opacity:.18;background:currentColor;height:1px}.draw{background:var(--seal);opacity:0;width:0;height:2px}.draw.in{opacity:1;width:44px;transition:width .6s cubic-bezier(.22,1,.36,1) .15s,opacity .3s .15s}.draw-brass{background:var(--brass)}.draw-white{background:#ffffffd9}.card-hit{transition:transform .5s cubic-bezier(.22,1,.36,1)}.card-hit:hover{transform:translateY(-4px)}.card-hit:hover h2,.card-hit:hover h3{color:var(--seal)}.fld{border:1px solid var(--color-divider,#e6e7e9);color:#1a1a1a;background:#fff;width:100%;padding:.7rem .85rem;font-size:16px;transition:border-color .2s,box-shadow .2s}.fld:hover{border-color:#c9cdd2}.fld:focus{border-color:var(--seal);outline:none;box-shadow:0 0 0 3px #009c9a24}.fld-label{color:#6b7280;margin-bottom:.45rem;font-size:14px;display:block}.btn{color:#fff;background:#0f1720;padding:.95rem 2rem;font-size:15px;transition:background .2s,transform .12s}.btn:hover{background:var(--seal-hover)}.btn:active{transform:scale(.985)}.btn:disabled{opacity:.55;cursor:not-allowed}#sheet{opacity:0;visibility:hidden;will-change:opacity;transition:opacity .45s cubic-bezier(.65,0,.35,1),visibility .45s}#sheet.open{opacity:1;visibility:visible}#sheet.open .col{opacity:1;transition:opacity .6s cubic-bezier(.2,.6,.2,1) .12s,transform .6s cubic-bezier(.2,.6,.2,1) .12s;transform:none}#sheet.open .col:nth-child(2){transition-delay:.19s}#sheet.open .col:nth-child(3){transition-delay:.26s}#sheet.open .col:nth-child(4){transition-delay:.33s}body.locked{overflow:hidden}.burger span{background:currentColor;height:2px;transition:transform .4s cubic-bezier(.65,0,.35,1),opacity .25s;display:block}.burger.x span:first-child{transform:translateY(6px)rotate(45deg)}.burger.x span:nth-child(2){opacity:0}.burger.x span:nth-child(3){transform:translateY(-6px)rotate(-45deg)}.tile img{transition:transform 1.2s cubic-bezier(.2,.6,.2,1)}.tile:hover img{transform:scale(1.045)}.ul-link{background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:0% 1px;transition:background-size .45s cubic-bezier(.65,0,.35,1)}.ul-link:hover{background-size:100% 1px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{left:0;right:0}.-left-\[calc\(2rem\+5px\)\]{left:calc(-2rem - 5px)}.bottom-0{bottom:0}.top-0{top:0}.top-2{top:.5rem}.z-40{z-index:40}.z-50{z-index:50}.order-2{order:2}.col-span-12{grid-column:span 12/span 12}.col-span-3{grid-column:span 3/span 3}.col-span-9{grid-column:span 9/span 9}.-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.mx-auto{margin-left:auto;margin-right:auto}.my-10{margin-top:2.5rem;margin-bottom:2.5rem}.my-12{margin-top:3rem;margin-bottom:3rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-14{margin-bottom:3.5rem}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-7{margin-bottom:1.75rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-1\.5{margin-left:.375rem}.ml-3{margin-left:.75rem}.ms-3{margin-inline-start:.75rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.mt-14{margin-top:3.5rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-20{margin-top:5rem}.mt-28{margin-top:7rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-7{margin-top:1.75rem}.mt-8{margin-top:2rem}.mt-9{margin-top:2.25rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.aspect-\[16\/9\]{aspect-ratio:16/9}.aspect-\[21\/9\]{aspect-ratio:21/9}.aspect-\[3\/2\]{aspect-ratio:3/2}.aspect-\[4\/3\]{aspect-ratio:4/3}.aspect-\[4\/5\]{aspect-ratio:4/5}.h-11{height:2.75rem}.h-12{height:3rem}.h-16{height:4rem}.h-3{height:.75rem}.h-44{height:11rem}.h-9{height:2.25rem}.h-\[46svh\]{height:46svh}.h-\[52svh\]{height:52svh}.h-\[58svh\]{height:58svh}.h-\[60svh\]{height:60svh}.h-\[62svh\]{height:62svh}.h-\[64svh\]{height:64svh}.h-\[72svh\]{height:72svh}.h-\[74svh\]{height:74svh}.h-\[80svh\]{height:80svh}.h-\[88svh\]{height:88svh}.h-\[92svh\]{height:92svh}.h-\[9px\]{height:9px}.h-auto{height:auto}.h-full{height:100%}.max-h-12{max-height:3rem}.max-h-16{max-height:4rem}.min-h-\[300px\]{min-height:300px}.min-h-\[340px\]{min-height:340px}.min-h-\[380px\]{min-height:380px}.min-h-\[400px\]{min-height:400px}.min-h-\[420px\]{min-height:420px}.min-h-\[440px\]{min-height:440px}.min-h-\[460px\]{min-height:460px}.min-h-\[540px\]{min-height:540px}.min-h-\[560px\]{min-height:560px}.w-12{width:3rem}.w-9{width:2.25rem}.w-\[9px\]{width:9px}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-\[20ch\]{max-width:20ch}.max-w-\[22ch\]{max-width:22ch}.max-w-\[24ch\]{max-width:24ch}.max-w-\[26ch\]{max-width:26ch}.max-w-\[320px\]{max-width:320px}.max-w-\[36ch\]{max-width:36ch}.max-w-\[38ch\]{max-width:38ch}.max-w-\[40ch\]{max-width:40ch}.max-w-\[46ch\]{max-width:46ch}.max-w-\[48ch\]{max-width:48ch}.max-w-\[52ch\]{max-width:52ch}.max-w-\[54ch\]{max-width:54ch}.max-w-\[56ch\]{max-width:56ch}.max-w-\[58ch\]{max-width:58ch}.max-w-\[60ch\]{max-width:60ch}.max-w-\[62ch\]{max-width:62ch}.max-w-\[64ch\]{max-width:64ch}.max-w-\[66ch\]{max-width:66ch}.max-w-\[68ch\]{max-width:68ch}.max-w-\[70ch\]{max-width:70ch}.max-w-content{max-width:64rem}.max-w-lg{max-width:32rem}.max-w-wide{max-width:84rem}.max-w-xl{max-width:36rem}.flex-1{flex:1}.shrink-0{flex-shrink:0}.origin-bottom{transform-origin:bottom}.origin-left{transform-origin:0}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-\[minmax\(0\,11rem\)_1fr_2\.5rem\]{grid-template-columns:minmax(0,11rem) 1fr 2.5rem}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-10{gap:2.5rem}.gap-12{gap:3rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-7{gap:1.75rem}.gap-8{gap:2rem}.gap-\[4px\]{gap:4px}.gap-\[6px\]{gap:6px}.gap-x-10{-moz-column-gap:2.5rem;column-gap:2.5rem}.gap-x-12{-moz-column-gap:3rem;column-gap:3rem}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.gap-x-7{-moz-column-gap:1.75rem;column-gap:1.75rem}.gap-x-8{-moz-column-gap:2rem;column-gap:2rem}.gap-y-10{row-gap:2.5rem}.gap-y-12{row-gap:3rem}.gap-y-14{row-gap:3.5rem}.gap-y-16{row-gap:4rem}.gap-y-2{row-gap:.5rem}.gap-y-3{row-gap:.75rem}.gap-y-4{row-gap:1rem}.gap-y-5{row-gap:1.25rem}.gap-y-6{row-gap:1.5rem}.gap-y-8{row-gap:2rem}.gap-y-9{row-gap:2.25rem}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-10>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.5rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.625rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.self-end{align-self:flex-end}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.scroll-smooth{scroll-behavior:smooth}.whitespace-nowrap{white-space:nowrap}.rounded-full{border-radius:9999px}.border{border-width:1px}.border-y{border-top-width:1px;border-bottom-width:1px}.border-y-4{border-top-width:4px;border-bottom-width:4px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-l-2{border-left-width:2px}.border-t{border-top-width:1px}.border-\[\#E6E7E9\]{--tw-border-opacity:1;border-color:rgb(230 231 233/var(--tw-border-opacity,1))}.border-\[color\:var\(--seal\)\]{border-color:var(--seal)}.border-brand-headline{--tw-border-opacity:1;border-color:rgb(15 23 32/var(--tw-border-opacity,1))}.border-brand-teal{--tw-border-opacity:1;border-color:rgb(0 156 154/var(--tw-border-opacity,1))}.border-brand-teal\/40{border-color:#009c9a66}.border-line{--tw-border-opacity:1;border-color:rgb(226 229 231/var(--tw-border-opacity,1))}.border-transparent{border-color:#0000}.border-white\/10{border-color:#ffffff1a}.border-white\/45{border-color:#ffffff73}.bg-\[\#FAFAF8\]{--tw-bg-opacity:1;background-color:rgb(250 250 248/var(--tw-bg-opacity,1))}.bg-\[color\:var\(--seal\)\]{background-color:var(--seal)}.bg-brand-headline\/5{background-color:#0f17200d}.bg-brand-headline\/\[0\.03\]{background-color:#0f172008}.bg-brand-ink{--tw-bg-opacity:1;background-color:rgb(6 9 11/var(--tw-bg-opacity,1))}.bg-brand-navy{--tw-bg-opacity:1;background-color:rgb(15 23 32/var(--tw-bg-opacity,1))}.bg-transparent{background-color:#0000}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.object-cover{-o-object-fit:cover;object-fit:cover}.p-2{padding:.5rem}.p-6{padding:1.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-7{padding-left:1.75rem;padding-right:1.75rem}.px-8{padding-left:2rem;padding-right:2rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-14{padding-top:3.5rem;padding-bottom:3.5rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-24{padding-top:6rem;padding-bottom:6rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-0\.5{padding-bottom:.125rem}.pb-1{padding-bottom:.25rem}.pb-10{padding-bottom:2.5rem}.pb-12{padding-bottom:3rem}.pb-14{padding-bottom:3.5rem}.pb-16{padding-bottom:4rem}.pb-2{padding-bottom:.5rem}.pb-20{padding-bottom:5rem}.pb-24{padding-bottom:6rem}.pb-5{padding-bottom:1.25rem}.pb-6{padding-bottom:1.5rem}.pl-6{padding-left:1.5rem}.pl-8{padding-left:2rem}.pr-3{padding-right:.75rem}.pt-10{padding-top:2.5rem}.pt-12{padding-top:3rem}.pt-14{padding-top:3.5rem}.pt-16{padding-top:4rem}.pt-2{padding-top:.5rem}.pt-20{padding-top:5rem}.pt-28{padding-top:7rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.pt-8{padding-top:2rem}.text-right{text-align:right}.font-display{font-family:Archivo,Shippori Mincho,system-ui,sans-serif}.font-sans{font-family:Inter,Noto Sans JP,system-ui,sans-serif}.font-serif{font-family:Fraunces,Shippori Mincho,Georgia,serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-6xl{font-size:3.75rem;line-height:1}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[16px\]{font-size:16px}.text-\[17px\]{font-size:17px}.text-\[2\.1rem\]{font-size:2.1rem}.text-\[2\.2rem\]{font-size:2.2rem}.text-\[2\.3rem\]{font-size:2.3rem}.text-\[2\.4rem\]{font-size:2.4rem}.text-\[2\.6rem\]{font-size:2.6rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.leading-\[1\.06\]{line-height:1.06}.leading-\[1\.08\]{line-height:1.08}.leading-\[1\.12\]{line-height:1.12}.leading-\[1\.14\]{line-height:1.14}.leading-\[1\.15\]{line-height:1.15}.leading-\[1\.16\]{line-height:1.16}.leading-\[1\.18\]{line-height:1.18}.leading-\[1\.28\]{line-height:1.28}.leading-\[1\.2\]{line-height:1.2}.leading-\[1\.4\]{line-height:1.4}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-tightest{letter-spacing:-.035em}.text-\[color\:var\(--seal\)\]{color:var(--seal)}.text-brand-body{--tw-text-opacity:1;color:rgb(62 74 82/var(--tw-text-opacity,1))}.text-brand-body\/55{color:#3e4a52cc}.text-brand-body\/60{color:#3e4a52cc}.text-brand-body\/70{color:#3e4a52cc}.text-brand-body\/85{color:#3e4a52d9}.text-brand-headline{--tw-text-opacity:1;color:rgb(15 23 32/var(--tw-text-opacity,1))}.text-brand-teal{color:var(--seal-text)}.text-\[color\:var\(--seal\)\]{color:var(--seal-text)}.bg-\[color\:var\(--seal\)\]{background-color:var(--seal-solid)}.cardgrid .meta-w,[class*="bg-brand-ink"] .meta,.bg-brand-ink .meta,section[class*="brand-ink"] .meta{color:var(--brass-dark)}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-white\/25{color:#fff6}.text-white\/35{color:#ffffff80}.text-white\/40{color:#ffffff80}.text-white\/45{color:#ffffff73}.text-white\/50{color:#ffffff80}.text-white\/55{color:#ffffff8c}.text-white\/60{color:#fff9}.text-white\/65{color:#ffffffa6}.text-white\/70{color:#ffffffb3}.text-white\/75{color:#ffffffbf}.text-white\/80{color:#fffc}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-55{opacity:.55}.opacity-60{opacity:.6}.opacity-80{opacity:.8}.invert{--tw-invert:invert(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-property:transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-500{transition-duration:.5s}.duration-700{transition-duration:.7s}@media (prefers-reduced-motion:reduce){.bar{transition:none!important;transform:scaleY(1)!important}svg animate{display:none}.arch .go{opacity:1!important;transform:none!important}.arch:hover .thumb img{transform:none!important}.draw,.draw.in{opacity:1!important;width:44px!important;transition:none!important}.card-hit:hover{transform:none!important}.rise,.rise.in{opacity:1!important;transition:none!important;transform:none!important}.wipe,.wipe.in{clip-path:none!important;transition:none!important}.drift{animation:none!important}.tile img{transition:none!important}*{scroll-behavior:auto!important}}@media print{*,:before,:after{transition:none!important;animation:none!important}header,footer,#sheet,#prog,.burger,nav[aria-label=Breadcrumb],.hdr-lang,form,.card-hit .go{display:none!important}body{font-size:11pt;color:#000!important;background:#fff!important}section,div,article{color:#000!important;background:0 0!important;height:auto!important;min-height:0!important;padding-block:0!important}.veil,.veil-soft{display:none!important}h1,h2,h3{page-break-after:avoid;color:#000!important}h1{font-size:22pt}h2{margin-top:18pt;font-size:15pt}h3{font-size:12pt}p,li{orphans:3;widows:3}section[class*=svh]{height:auto!important;min-height:0!important}section[class*=svh] figure{max-height:90mm}img{page-break-inside:avoid;max-width:100%!important}figure{page-break-inside:avoid}.rise,.wipe,.draw{opacity:1!important;clip-path:none!important;transform:none!important}a[href^=\/]:after{content:" (hiterraepc.com" attr(href) ")";color:#555;font-size:8pt}a[href^=http]:after{content:" (" attr(href) ")";color:#555;font-size:8pt}a[href^=mailto]:after,a[href^=tel]:after{content:""}nav a:after,.meta a:after{content:""!important}main:after{content:"Hiterra — hiterraepc.com — info@hiterraepc.com";color:#444;border-top:1px solid #999;margin-top:14pt;padding-top:8pt;font-size:9pt;display:block}}@media (width>=640px){.sm\:text-5xl .font-display,.sm\:text-6xl .font-display{letter-spacing:-.035em;font-weight:800}}@media (width>=768px){.md\:text-5xl .font-display,.md\:text-6xl .font-display,.md\:text-7xl .font-display{letter-spacing:-.035em;font-weight:800}}@media (width>=1024px){.lg\:text-5xl .font-display,.lg\:text-6xl .font-display,.lg\:text-7xl .font-display{letter-spacing:-.035em;font-weight:800}}.file\:mr-4::file-selector-button{margin-right:1rem}.file\:cursor-pointer::file-selector-button{cursor:pointer}.file\:border-0::file-selector-button{border-width:0}.file\:bg-brand-headline::file-selector-button{--tw-bg-opacity:1;background-color:rgb(15 23 32/var(--tw-bg-opacity,1))}.file\:px-5::file-selector-button{padding-left:1.25rem;padding-right:1.25rem}.file\:py-2\.5::file-selector-button{padding-top:.625rem;padding-bottom:.625rem}.file\:text-\[14px\]::file-selector-button{font-size:14px}.file\:text-white::file-selector-button{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.last\:pb-0:last-child{padding-bottom:0}.hover\:border-brand-teal:hover{--tw-border-opacity:1;border-color:rgb(0 156 154/var(--tw-border-opacity,1))}.hover\:bg-\[color\:var\(--seal-hover\)\]:hover{background-color:var(--seal-hover)}.hover\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.hover\:text-brand-headline:hover{--tw-text-opacity:1;color:rgb(15 23 32/var(--tw-text-opacity,1))}.hover\:text-brand-ink:hover{--tw-text-opacity:1;color:rgb(6 9 11/var(--tw-text-opacity,1))}.hover\:text-brand-teal:hover{--tw-text-opacity:1;color:rgb(0 156 154/var(--tw-text-opacity,1))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:file\:bg-\[color\:var\(--seal-hover\)\]::file-selector-button:hover{background-color:var(--seal-hover)}.focus\:not-sr-only:focus{clip:auto;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}.focus\:absolute:focus{position:absolute}.focus\:left-3:focus{left:.75rem}.focus\:top-3:focus{top:.75rem}.focus\:z-50:focus{z-index:50}.focus\:bg-white:focus{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.focus\:px-4:focus{padding-left:1rem;padding-right:1rem}.focus\:py-2:focus{padding-top:.5rem;padding-bottom:.5rem}.group:hover .group-hover\:scale-\[1\.03\]{--tw-scale-x:1.03;--tw-scale-y:1.03;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:text-brand-teal{--tw-text-opacity:1;color:rgb(0 156 154/var(--tw-text-opacity,1))}@media (width>=640px){.sm\:block{display:block}.sm\:inline-block{display:inline-block}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:gap-1\.5{gap:.375rem}.sm\:gap-6{gap:1.5rem}.sm\:gap-8{gap:2rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:py-8{padding-top:2rem;padding-bottom:2rem}.sm\:text-5xl{font-size:3rem;line-height:1}.sm\:text-6xl{font-size:3.75rem;line-height:1}}@media (width>=768px){.md\:-left-\[calc\(3rem\+5px\)\]{left:calc(-3rem - 5px)}.md\:col-span-1{grid-column:span 1/span 1}.md\:col-span-2{grid-column:span 2/span 2}.md\:col-span-4{grid-column:span 4/span 4}.md\:col-span-5{grid-column:span 5/span 5}.md\:col-span-6{grid-column:span 6/span 6}.md\:col-span-7{grid-column:span 7/span 7}.md\:mx-0{margin-left:0;margin-right:0}.md\:block{display:block}.md\:flex{display:flex}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-\[1fr_260px\]{grid-template-columns:1fr 260px}.md\:grid-cols-\[1fr_280px\]{grid-template-columns:1fr 280px}.md\:grid-cols-\[200px_1fr\]{grid-template-columns:200px 1fr}.md\:grid-cols-\[260px_1fr\]{grid-template-columns:260px 1fr}.md\:gap-10{gap:2.5rem}.md\:gap-3{gap:.75rem}.md\:gap-8{gap:2rem}.md\:py-20{padding-top:5rem;padding-bottom:5rem}.md\:py-24{padding-top:6rem;padding-bottom:6rem}.md\:py-28{padding-top:7rem;padding-bottom:7rem}.md\:py-32{padding-top:8rem;padding-bottom:8rem}.md\:py-7{padding-top:1.75rem;padding-bottom:1.75rem}.md\:pb-14{padding-bottom:3.5rem}.md\:pb-16{padding-bottom:4rem}.md\:pb-20{padding-bottom:5rem}.md\:pb-24{padding-bottom:6rem}.md\:pl-12{padding-left:3rem}.md\:pt-24{padding-top:6rem}.md\:pt-36{padding-top:9rem}.md\:pt-8{padding-top:2rem}.md\:text-2xl{font-size:1.5rem;line-height:2rem}.md\:text-3xl{font-size:1.875rem;line-height:2.25rem}.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}.md\:text-5xl{font-size:3rem;line-height:1}.md\:text-6xl{font-size:3.75rem;line-height:1}.md\:text-7xl{font-size:4.5rem;line-height:1}.md\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (width>=1024px){.lg\:order-none{order:0}.lg\:col-span-3{grid-column:span 3/span 3}.lg\:col-span-4{grid-column:span 4/span 4}.lg\:col-span-5{grid-column:span 5/span 5}.lg\:col-span-7{grid-column:span 7/span 7}.lg\:col-span-8{grid-column:span 8/span 8}.lg\:col-start-3{grid-column-start:3}.lg\:col-start-6{grid-column-start:6}.lg\:col-start-8{grid-column-start:8}.lg\:col-start-9{grid-column-start:9}.lg\:mb-0{margin-bottom:0}.lg\:h-14{height:3.5rem}.lg\:w-14{width:3.5rem}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:gap-14{gap:3.5rem}.lg\:px-10{padding-left:2.5rem;padding-right:2.5rem}.lg\:px-12{padding-left:3rem;padding-right:3rem}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.lg\:py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.lg\:text-5xl{font-size:3rem;line-height:1}.lg\:text-6xl{font-size:3.75rem;line-height:1}.lg\:text-7xl{font-size:4.5rem;line-height:1}.lg\:text-\[16px\]{font-size:16px}.lg\:text-\[4\.4rem\]{font-size:4.4rem}.lg\:text-\[5\.2rem\]{font-size:5.2rem}}

.motto-foot{display:block;margin-inline-start:0;margin-top:.5rem}@media(min-width:640px){.motto-foot{display:inline;margin-inline-start:1.5rem;margin-top:0}}

/* ─ The onward step ────────────────────────────────────────────────────
   Brass is reserved. It marks where the reader goes next and nothing
   else, so the signal stays learnable: teal is where you are, brass is
   where you go. Text size uses --brass-text (4.52:1 on paper); the
   identity brass is kept for rules and larger type, where 3.06:1 is
   enough. On the dark ground both clear 4.5:1 unaided.
   ──────────────────────────────────────────────────────────────────── */
.onward{margin-top:4rem;padding-top:2rem;border-top:1px solid var(--brass)}
.onward-label{font-size:11px;font-weight:600;letter-spacing:.11em;
  text-transform:uppercase;color:var(--brass-text);margin-bottom:1.25rem}
.onward-grid{display:grid;gap:1.75rem}
@media (min-width:700px){.onward-grid{grid-template-columns:repeat(3,1fr)}}
.onward-item{min-width:0}
.onward-item a{color:var(--brass-text);text-decoration:none;
  border-bottom:1px solid color-mix(in srgb,var(--brass) 45%,transparent);
  padding-bottom:2px;font-size:1.0625rem;line-height:1.45}
.onward-item a:hover{border-bottom-color:var(--brass)}
.onward-item a:focus-visible{outline:2px solid var(--brass);outline-offset:3px}
.onward-item p{margin:.5rem 0 0;font-size:.9375rem;line-height:1.55;color:var(--steel)}
.bg-brand-ink .onward-label,.bg-brand-ink .onward-item a{color:var(--brass)}

/* ─ Question index ─────────────────────────────────────────────────────
   Sits in the first screenful so a reader can see what the page answers
   before deciding to read it. Teal, not brass: this moves within the
   page, it is not the step onward.
   ──────────────────────────────────────────────────────────────────── */
.qindex{margin:0 0 3.5rem;padding:1.5rem 0 0;border-top:1px solid var(--seal)}
.qindex-label{font-size:11px;font-weight:600;letter-spacing:.11em;
  text-transform:uppercase;color:var(--seal-text);margin:0 0 1rem}
.qindex-list{list-style:none;margin:0;padding:0;display:grid;gap:.6rem;counter-reset:q}
@media (min-width:760px){.qindex-list{grid-template-columns:1fr 1fr;gap:.6rem 2.5rem}}
.qindex-list li{counter-increment:q;display:flex;gap:.7rem;min-width:0}
.qindex-list li::before{content:counter(q,decimal-leading-zero);
  font-size:12px;color:var(--steel);padding-top:.25rem;flex:0 0 auto;
  font-variant-numeric:tabular-nums}
.qindex-list a{color:var(--seal-text);text-decoration:none;font-size:1.0625rem;
  line-height:1.45;border-bottom:1px solid transparent;min-width:0}
.qindex-list a:hover{border-bottom-color:var(--seal)}
.qindex-list a:focus-visible{outline:2px solid var(--seal);outline-offset:3px}
h2[id]{scroll-margin-top:5rem}

/* ─ Phone sizing corrections ───────────────────────────────────────────
   Three measured defects, fixed at the one place they are set.
   1. The file input rendered at 15px. iOS zooms the page when a control
      under 16px takes focus and does not zoom back, so attaching a CV on
      an iPhone left the page stuck zoomed.
   2. Standalone onward controls rendered 29-31px tall. They clear WCAG
      2.2 SC 2.5.8 (24px, AA) but sit under the 44px both Apple and
      Material ask for, and they are the main way through the site on a
      phone. Inline links in a sentence are exempt and are left alone.
   3. Body text at 18px in a 342px column gave 37 characters per line.
      16px against a 16px gutter gives 44, which is the practical ceiling
      on a 390px screen.
   ──────────────────────────────────────────────────────────────────── */
input[type="file"]{font-size:16px}

@media (max-width:640px){
  /* 3 — more words per line */
  :root{--gutter:16px}
  .px-6{padding-left:var(--gutter);padding-right:var(--gutter)}
  main p,main li{font-size:16px}
  main .text-lg,main .text-lg\:text-xl,main .md\:text-xl{font-size:17px}

  /* 2 — fingertip-sized onward controls */
  .onward-item a,
  main a.btn,
  main .dl a,
  main a[class*="border-b"]:not(p a):not(li a){
    display:inline-flex;align-items:center;min-height:44px}
}

@media (max-width:640px){
  .qindex-list a{display:inline-flex;align-items:center;min-height:44px}
  .qindex-list li::before{padding-top:.9rem}
}

@media (max-width:640px){
  main a.ul-link{display:inline-flex;align-items:center;min-height:44px}
}

@media (max-width:640px){
  /* the remaining tappable controls: project filters and the apply buttons */
  main button.filter-btn,
  main button.cond-btn,
  main button.apply-for{display:inline-flex;align-items:center;min-height:44px}
}

@media (max-width:640px){
  /* Full-bleed figures escape the container by pulling back exactly the
     gutter. That was hard-coded to 24px; the gutter is now 16px, so the
     breakout is tied to the same variable instead of a fixed number. */
  .-mx-6{margin-left:calc(-1 * var(--gutter));margin-right:calc(-1 * var(--gutter))}
}


/* ══ Layout system ════════════════════════════════════════════════
   Added after the measured audit of 2026-10-10, which found an
   upscaled image, an empty band or an orphaned grid row on 35 of 35
   pages. Four rules, each written so the defect cannot recur:

   1  A photographic slot carries --slot, computed per page from the
      narrowest photograph that has to fill it. An image can no longer
      be drawn wider than it is, whatever the viewport.
   2  A grid carries --gcols, set from the number of items it holds,
      so a row can never hold fewer tiles than the row above it.
   3  Bands share one vertical scale.
   4  The fact rail runs across the top. As a side column it put 300px
      of content beside 900px of narrative and left the rest empty.
   ════════════════════════════════════════════════════════════════ */

/* 1 — contained photographic slots */
[data-p="hero"],
[data-p="feat"],
[data-p="gal"]{max-width:var(--slot,64rem);margin-inline:auto}

[data-p="hero"]{aspect-ratio:16/9;height:auto;min-height:0}
[data-p="hero"] h1{font-size:clamp(1.5rem,3vw,2.6rem);line-height:1.07}
[data-p="hero"] .pb-14{padding-bottom:2rem}
@media (min-width:768px){[data-p="hero"] .md\:pb-20{padding-bottom:2.5rem}}

[data-p="feat"]>figure{aspect-ratio:16/9}
[data-p="feat"]>figure img{width:100%;height:100%;object-fit:cover;display:block}

/* 2 — even grids */
/* Two columns, always. An odd count gives the first tile both of them,
   so the last row is never short and no tile is ever a thumbnail. The
   tiles are sorted widest-first in the markup, so the photograph that
   can carry the spanning slot is the one that gets it. */
.galgrid{display:grid;gap:24px;grid-template-columns:repeat(2,minmax(0,1fr))}
.galgrid>figure{aspect-ratio:3/2;margin:0;overflow:hidden}
.galgrid>figure img{width:100%;height:100%;object-fit:cover;display:block}
[data-odd] .galgrid>figure:first-child{grid-column:1/-1;aspect-ratio:2/1}
@media (max-width:620px){.galgrid{grid-template-columns:1fr}
  [data-odd] .galgrid>figure:first-child{aspect-ratio:3/2}}

[data-p="facts"]{grid-template-columns:repeat(var(--gcols,3),minmax(0,1fr))}
@media (max-width:900px){[data-p="facts"]{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){[data-p="facts"]{grid-template-columns:1fr}}

.cardgrid{display:grid;column-gap:1.5rem;row-gap:3.25rem;
  grid-template-columns:repeat(var(--gcols,3),minmax(0,1fr))}
.cardgrid>*{grid-column:auto!important}
.cardgrid figure{aspect-ratio:4/3!important;margin:0 0 1.15rem}
.cap-line{margin:.6rem 0 0;font-size:15.5px;line-height:1.5;color:var(--steel);max-width:36ch}

/* ── Where the second colour appears ──────────────────────────────
   Clay has one job: sequence and position. The numeral above a card,
   the index on a project, the onward link at the foot of a page —
   everything that says where you are or what comes next. Teal keeps
   the brand mark, the primary button and links inside a sentence.
   Two colours, two jobs, so neither has to shout.
   Measured on paper #fafaf8: clay text 4.97:1, clay on navy 5.22:1.
   ──────────────────────────────────────────────────────────────── */
.cardgrid .meta{color:var(--brass-text)}
main .idx{color:var(--brass-text)}
.bg-brand-ink .idx,.bg-brand-navy .idx,.meta-w.idx{color:var(--brass-dark)}
.cardgrid a:hover .meta{color:var(--brass)}

/* With scripting off there is no observer to reveal anything, so the
   page would render as a header, a footer and a column of white. */

/* ══ The entrance ═════════════════════════════════════════════════
   One photograph, the words over it, and a scroll cue that is the only
   thing on the screen that moves. The wall of four that cross-faded
   between twelve photographs was too much movement to read against.
   ════════════════════════════════════════════════════════════════ */
/* The header stacks above the hero rather than floating over it, so a
   92svh hero pushed the scroll cue below the fold — which is the one
   thing on the screen that has to be on it. The hero takes whatever
   the header leaves. Header measures 143px at 1440, 137 at 1024, 89 on
   a phone. */
section:has(>.hero-words){height:calc(100svh - 143px);min-height:520px}
@media (max-width:1100px){section:has(>.hero-words){height:calc(100svh - 137px)}}
@media (max-width:640px){section:has(>.hero-words){height:calc(100svh - 89px);min-height:460px}}
.hero-words{padding-bottom:clamp(1.75rem,3.5vh,2.75rem)}

/* Four photographs, nine seconds each, one second to cross over.
   36s round trip. Slow enough to read a headline against, which the
   twelve-photograph wall was not. */
.heroslides{position:absolute;inset:0}
.heroslides .heroslide{position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;display:block;opacity:0;
  animation:heroslide 36s linear infinite}
@keyframes heroslide{
  0%{opacity:0} 3%{opacity:1} 22%{opacity:1} 25%{opacity:0} 100%{opacity:0}}
@media (prefers-reduced-motion:reduce){
  .heroslides .heroslide{animation:none;opacity:0}
  .heroslides picture:first-child .heroslide{opacity:1}}
/* The site-wide veil is tuned for a quiet photograph. A hero carries a
   headline, a paragraph, three figures, a button and the cue, so it
   needs a heavier gradient under all of them, and a top wash so the
   white logo stays legible. */
section:has(>.hero-words)>.veil{background:
  linear-gradient(to bottom,rgba(6,9,11,.55) 0%,rgba(6,9,11,.18) 22%,
  rgba(6,9,11,.30) 48%,rgba(6,9,11,.72) 78%,rgba(6,9,11,.88) 100%)}
.split-figs{display:flex;flex-wrap:wrap;gap:.75rem 2.5rem;margin-top:1.9rem;align-items:baseline}
.hero-figs{margin-top:1.6rem}

/* the way on */
.cue{display:inline-flex;align-items:center;gap:.85rem;margin-top:1.9rem;
  color:rgb(255 255 255/.6);text-decoration:none;width:-moz-fit-content;width:fit-content;
  transition:color .25s}
.cue:hover,.cue:focus-visible{color:#fff}
.cue-txt{font-family:IBM Plex Mono,ui-monospace,Menlo,monospace;
  font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.cue-rail{position:relative;display:block;width:1px;height:46px;
  background:linear-gradient(rgb(255 255 255/.34),rgb(255 255 255/.06))}
.cue-dot{position:absolute;left:-2.5px;width:6px;height:6px;border-radius:50%;
  background:var(--seal);box-shadow:0 0 0 4px rgb(0 156 154/.18);
  animation:cuedrop 2.6s cubic-bezier(.55,0,.45,1) infinite}
@keyframes cuedrop{
  0%{top:0;opacity:0} 14%{opacity:1} 70%{opacity:1} 100%{top:40px;opacity:0}}

@media (prefers-reduced-motion:reduce){.cue-dot{animation:none;top:16px}}

/* ══ The enquiry form's robot check ═══════════════════════════════
   The trap field sits off screen rather than under display:none,
   because a bot worth stopping checks the computed style before it
   fills a field in. Off screen it is invisible to a person, present
   to a script, and still reachable by a screen reader — which is why
   it also carries aria-hidden and tabindex -1.
   ════════════════════════════════════════════════════════════════ */
/* Not left:-9999px. On a right-to-left page the overflow runs the other
   way and the browser makes the whole page 9999px wide, which is what
   /ar/contact/ and /ar/careers/ were doing. Clipped in place instead:
   invisible to a person, no direction to get wrong, still a field a
   script will fill in. */
.offscreen{position:absolute!important;width:1px!important;height:1px!important;
  padding:0!important;margin:-1px!important;overflow:hidden!important;
  clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}

.robot{display:flex;align-items:center;gap:.7rem;margin:1.75rem 0 1.5rem;
  padding:.9rem 1.1rem;border:1px solid #E6E7E9;background:#fff;
  width:-moz-fit-content;width:fit-content}
.robot input[type=checkbox]{width:20px;height:20px;flex:0 0 auto;margin:0;
  accent-color:var(--seal);cursor:pointer}

.robot:has(.robot-box:focus-visible){border-color:var(--seal);box-shadow:0 0 0 3px rgb(0 156 154/.16)}
@media (max-width:640px){
  .robot{width:100%;padding:1rem}
  
  }

/* ══ On a phone ═══════════════════════════════════════════════════
   Measured at 390x844. No sideways scroll and nothing stretched, but
   several things you have to tap were 22 to 26 pixels tall — a card's
   title is often the only way into that card, and a line of text is
   not a target. Padding grows the hit area; the negative margin keeps
   the spacing looking exactly as it did.
   ════════════════════════════════════════════════════════════════ */
@media (max-width:900px){
  main h2>a[href],main h3>a[href],
  /* 14px type needs more padding than 17px type to reach 44 */
  main a[class*="hover:text-white"]{
    display:inline-block;padding-block:.95rem;margin-block:-.95rem}

  footer a[href].block{padding-top:1rem}footer a[href]:not(.menu-lang):not(.btn):not(.block){
    display:inline-block;padding-block:.7rem;margin-block:-.7rem}
}

/* A person with no photograph had a 448px dark panel standing in for
   one, four times down the page. It says the same thing in a third of
   the height. */
[data-p="noface"]{aspect-ratio:4/5}
@media (max-width:900px){
  [data-p="noface"]{aspect-ratio:16/9;min-height:150px}
  [data-p="noface"] span{font-size:2.75rem}
}

@media (scripting: none){
  .rise{opacity:1;transform:none}
  .wipe{clip-path:none}
  .draw{opacity:1;width:44px}
  .slides .slide{opacity:0;animation:none}
  .slides .slide:first-of-type,.slides picture:first-child .slide{opacity:1}
}
.cardgrid figure img{width:100%;height:100%;object-fit:cover;display:block}
@media (max-width:900px){.cardgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.cardgrid{grid-template-columns:1fr;row-gap:2.5rem}}

/* 4 — fact rail across the top */
[data-p="rail"]{grid-column:1/-1;position:static;align-self:auto;
  margin:0 0 3rem;padding-bottom:1.75rem;border-bottom:1px solid rgb(226 229 231)}
[data-p="rail"]>.draw{display:none}
/* Each label and its value are wrapped together in the markup, so the
   grid places the pair rather than scattering six labels and six values
   across the columns in reading order. */
[data-p="rail"] dl{display:grid;gap:1.1rem 2rem;margin:0;
  grid-template-columns:repeat(3,minmax(0,1fr))}
[data-p="rail"] .fact{min-width:0}
[data-p="rail"] .fact dd{margin:0}
[data-p="rail"] dl dt{margin-bottom:.15rem}
[data-p="rail"]>div:last-child{margin-top:1.5rem;padding-top:1.25rem}
@media (max-width:700px){[data-p="rail"] dl{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:460px){[data-p="rail"] dl{grid-template-columns:1fr}}

/* The article shares one content width with its hero. Without this the
   narrative ran to 1344px while the photographs stopped at 1024 and the
   page read as two different pages stacked. */
article>div.max-w-wide:has([data-p="rail"]){max-width:64rem}

/* clay on the dark bands needs the lighter variant to clear 4.5:1 */
.bg-brand-ink .onward-label,
.bg-brand-ink .onward-item a{color:var(--brass-dark)}
[data-p="barlab"]{flex-wrap:wrap;gap:.55rem 0;max-width:36rem}
[data-p="barlab"]>.barlab-item{width:100%!important;padding-right:0;display:flex;align-items:baseline;gap:.6rem}
[data-p="barlab"]>.barlab-item>.barlab-dot{flex:0 0 9px;width:9px;height:9px;border-radius:50%;transform:translateY(-2px)}
[data-p="barlab"]>.barlab-item>.meta.idx{margin-inline-start:auto;padding-inline-start:1.5rem;white-space:nowrap}
@media (max-width:760px){
[data-p="crumb"]>a{display:inline-block;padding-block:.85rem;margin-block:-.85rem}
}
@font-face{font-family:"Noto Sans JP";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/noto-sans-jp-sw-400.woff2)format("woff2");unicode-range:U+3000,U+30B1,U+30C6,U+30D2,U+30E9,U+30F3,U+4F1A,U+4FDD,U+4FE1,U+539F,U+53E3,U+5B97,U+5C71,U+5D0E,U+5DDD,U+5F0F,U+5F18,U+65B0,U+65E5,U+672C,U+682A,U+6D0B,U+7530,U+76F8,U+793E,U+8A9E,U+8AA0,U+8C37,U+8CB4,U+9577}@font-face{font-family:"Noto Sans JP";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/noto-sans-jp-jp-400.woff2)format("woff2");unicode-range:U+3001-303F,U+3041-30B0,U+30B2-30C5,U+30C7-30D1,U+30D3-30E8,U+30EA-30F2,U+30F4-30FF,U+31F0-31FF,U+3400-4DBF,U+4E00-4F19,U+4F1B-4FDC,U+4FDE-4FE0,U+4FE2-539E,U+53A0-53E2,U+53E4-5B96,U+5B98-5C70,U+5C72-5D0D,U+5D0F-5DDC,U+5DDE-5F0E,U+5F10-5F17,U+5F19-65AF,U+65B1-65E4,U+65E6-672B,U+672D-6829,U+682B-6D0A,U+6D0C-752F,U+7531-76F7,U+76F9-793D,U+793F-8A9D,U+8A9F,U+8AA1-8C36,U+8C38-8CB3,U+8CB5-9576,U+9578-9FFF,U+F900-FAFF,U+FF01-FF60,U+FFE0-FFE6}@font-face{font-family:"Noto Sans JP";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/noto-sans-jp-sw-500.woff2)format("woff2");unicode-range:U+3000,U+30B1,U+30C6,U+30D2,U+30E9,U+30F3,U+4F1A,U+4FDD,U+4FE1,U+539F,U+53E3,U+5B97,U+5C71,U+5D0E,U+5DDD,U+5F0F,U+5F18,U+65B0,U+65E5,U+672C,U+682A,U+6D0B,U+7530,U+76F8,U+793E,U+8A9E,U+8AA0,U+8C37,U+8CB4,U+9577}@font-face{font-family:"Noto Sans JP";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/noto-sans-jp-jp-500.woff2)format("woff2");unicode-range:U+3001-303F,U+3041-30B0,U+30B2-30C5,U+30C7-30D1,U+30D3-30E8,U+30EA-30F2,U+30F4-30FF,U+31F0-31FF,U+3400-4DBF,U+4E00-4F19,U+4F1B-4FDC,U+4FDE-4FE0,U+4FE2-539E,U+53A0-53E2,U+53E4-5B96,U+5B98-5C70,U+5C72-5D0D,U+5D0F-5DDC,U+5DDE-5F0E,U+5F10-5F17,U+5F19-65AF,U+65B1-65E4,U+65E6-672B,U+672D-6829,U+682B-6D0A,U+6D0C-752F,U+7531-76F7,U+76F9-793D,U+793F-8A9D,U+8A9F,U+8AA1-8C36,U+8C38-8CB3,U+8CB5-9576,U+9578-9FFF,U+F900-FAFF,U+FF01-FF60,U+FFE0-FFE6}@font-face{font-family:"Noto Sans JP";font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/noto-sans-jp-sw-700.woff2)format("woff2");unicode-range:U+3000,U+30B1,U+30C6,U+30D2,U+30E9,U+30F3,U+4F1A,U+4FDD,U+4FE1,U+539F,U+53E3,U+5B97,U+5C71,U+5D0E,U+5DDD,U+5F0F,U+5F18,U+65B0,U+65E5,U+672C,U+682A,U+6D0B,U+7530,U+76F8,U+793E,U+8A9E,U+8AA0,U+8C37,U+8CB4,U+9577}@font-face{font-family:"Noto Sans JP";font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/noto-sans-jp-jp-700.woff2)format("woff2");unicode-range:U+3001-303F,U+3041-30B0,U+30B2-30C5,U+30C7-30D1,U+30D3-30E8,U+30EA-30F2,U+30F4-30FF,U+31F0-31FF,U+3400-4DBF,U+4E00-4F19,U+4F1B-4FDC,U+4FDE-4FE0,U+4FE2-539E,U+53A0-53E2,U+53E4-5B96,U+5B98-5C70,U+5C72-5D0D,U+5D0F-5DDC,U+5DDE-5F0E,U+5F10-5F17,U+5F19-65AF,U+65B1-65E4,U+65E6-672B,U+672D-6829,U+682B-6D0A,U+6D0C-752F,U+7531-76F7,U+76F9-793D,U+793F-8A9D,U+8A9F,U+8AA1-8C36,U+8C38-8CB3,U+8CB5-9576,U+9578-9FFF,U+F900-FAFF,U+FF01-FF60,U+FFE0-FFE6}@font-face{font-family:"Shippori Mincho";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/shippori-mincho-sw-500.woff2)format("woff2");unicode-range:U+3000,U+30B1,U+30C6,U+30D2,U+30E9,U+30F3,U+4F1A,U+4FDD,U+4FE1,U+539F,U+53E3,U+5B97,U+5C71,U+5D0E,U+5DDD,U+5F0F,U+5F18,U+65B0,U+65E5,U+672C,U+682A,U+6D0B,U+7530,U+76F8,U+793E,U+8A9E,U+8AA0,U+8C37,U+8CB4,U+9577}@font-face{font-family:"Shippori Mincho";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/shippori-mincho-jp-500.woff2)format("woff2");unicode-range:U+3001-303F,U+3041-30B0,U+30B2-30C5,U+30C7-30D1,U+30D3-30E8,U+30EA-30F2,U+30F4-30FF,U+31F0-31FF,U+3400-4DBF,U+4E00-4F19,U+4F1B-4FDC,U+4FDE-4FE0,U+4FE2-539E,U+53A0-53E2,U+53E4-5B96,U+5B98-5C70,U+5C72-5D0D,U+5D0F-5DDC,U+5DDE-5F0E,U+5F10-5F17,U+5F19-65AF,U+65B1-65E4,U+65E6-672B,U+672D-6829,U+682B-6D0A,U+6D0C-752F,U+7531-76F7,U+76F9-793D,U+793F-8A9D,U+8A9F,U+8AA1-8C36,U+8C38-8CB3,U+8CB5-9576,U+9578-9FFF,U+F900-FAFF,U+FF01-FF60,U+FFE0-FFE6}@font-face{font-family:"Shippori Mincho";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/shippori-mincho-sw-600.woff2)format("woff2");unicode-range:U+3000,U+30B1,U+30C6,U+30D2,U+30E9,U+30F3,U+4F1A,U+4FDD,U+4FE1,U+539F,U+53E3,U+5B97,U+5C71,U+5D0E,U+5DDD,U+5F0F,U+5F18,U+65B0,U+65E5,U+672C,U+682A,U+6D0B,U+7530,U+76F8,U+793E,U+8A9E,U+8AA0,U+8C37,U+8CB4,U+9577}@font-face{font-family:"Shippori Mincho";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/shippori-mincho-jp-600.woff2)format("woff2");unicode-range:U+3001-303F,U+3041-30B0,U+30B2-30C5,U+30C7-30D1,U+30D3-30E8,U+30EA-30F2,U+30F4-30FF,U+31F0-31FF,U+3400-4DBF,U+4E00-4F19,U+4F1B-4FDC,U+4FDE-4FE0,U+4FE2-539E,U+53A0-53E2,U+53E4-5B96,U+5B98-5C70,U+5C72-5D0D,U+5D0F-5DDC,U+5DDE-5F0E,U+5F10-5F17,U+5F19-65AF,U+65B1-65E4,U+65E6-672B,U+672D-6829,U+682B-6D0A,U+6D0C-752F,U+7531-76F7,U+76F9-793D,U+793F-8A9D,U+8A9F,U+8AA1-8C36,U+8C38-8CB3,U+8CB5-9576,U+9578-9FFF,U+F900-FAFF,U+FF01-FF60,U+FFE0-FFE6}@font-face{font-family:"Shippori Mincho";font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/shippori-mincho-sw-700.woff2)format("woff2");unicode-range:U+3000,U+30B1,U+30C6,U+30D2,U+30E9,U+30F3,U+4F1A,U+4FDD,U+4FE1,U+539F,U+53E3,U+5B97,U+5C71,U+5D0E,U+5DDD,U+5F0F,U+5F18,U+65B0,U+65E5,U+672C,U+682A,U+6D0B,U+7530,U+76F8,U+793E,U+8A9E,U+8AA0,U+8C37,U+8CB4,U+9577}@font-face{font-family:"Shippori Mincho";font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/shippori-mincho-jp-700.woff2)format("woff2");unicode-range:U+3001-303F,U+3041-30B0,U+30B2-30C5,U+30C7-30D1,U+30D3-30E8,U+30EA-30F2,U+30F4-30FF,U+31F0-31FF,U+3400-4DBF,U+4E00-4F19,U+4F1B-4FDC,U+4FDE-4FE0,U+4FE2-539E,U+53A0-53E2,U+53E4-5B96,U+5B98-5C70,U+5C72-5D0D,U+5D0F-5DDC,U+5DDE-5F0E,U+5F10-5F17,U+5F19-65AF,U+65B1-65E4,U+65E6-672B,U+672D-6829,U+682B-6D0A,U+6D0C-752F,U+7531-76F7,U+76F9-793D,U+793F-8A9D,U+8A9F,U+8AA1-8C36,U+8C38-8CB3,U+8CB5-9576,U+9578-9FFF,U+F900-FAFF,U+FF01-FF60,U+FFE0-FFE6}.meta.meta-w,.cardgrid .meta-w,main .meta-w{color:var(--brass-dark)}footer .text-brand-teal,.bg-brand-navy .text-brand-teal,.bg-brand-ink .text-brand-teal,[class*="brand-ink"] .text-brand-teal,[class*="brand-navy"] .text-brand-teal,footer .text-\[color\:var\(--seal\)\],[class*="brand-ink"] .text-\[color\:var\(--seal\)\],[class*="brand-navy"] .text-\[color\:var\(--seal\)\]{color:var(--seal)}
@media (width>=768px){.md\:gap-x-8{-moz-column-gap:2rem;column-gap:2rem}}@media (width>=1024px){.lg\:text-\[4rem\]{font-size:4rem}.lg\:text-\[4\.6rem\]{font-size:4.6rem}.lg\:text-\[2\.9rem\]{font-size:2.9rem}.lg\:col-span-9{grid-column:span 9/span 9}}
.robot{position:relative}
.robot .robot-box{position:absolute;width:1px;height:1px;opacity:0;margin:0;pointer-events:none}
.robot label{display:flex;align-items:center;gap:.7rem;min-height:44px;flex:1;
  font-size:15px;color:var(--ink);cursor:pointer;-webkit-user-select:none;user-select:none}
.tickbox{position:relative;flex:0 0 26px;width:26px;height:26px;
  border:1.5px solid #9aa3aa;background:#fff;overflow:hidden;
  transition:border-color .25s ease}
.tickbox svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.tickmark{fill:none;stroke:#fff;stroke-width:2.6;stroke-linecap:round;
  stroke-linejoin:round;stroke-dasharray:22;stroke-dashoffset:22}
.tickfill{position:absolute;left:0;right:0;bottom:0;height:0;background:var(--seal-solid)}
.tickwords{display:block;min-width:0}
.tickmeter{display:block;height:2px;width:0;background:var(--seal);margin-top:7px}
.tickstate{display:block;font-family:IBM Plex Mono,ui-monospace,monospace;
  font-size:11px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--seal-solid);height:0;overflow:hidden}
.robot .robot-box:focus-visible+label .tickbox{outline:2px solid var(--seal);outline-offset:3px}

/* running: 950ms, the square flooding and the line under the label
   travelling the same distance in the same time */
.robot.busy .tickbox{border-color:var(--seal)}
.robot.busy .tickfill{animation:tickflood .95s cubic-bezier(.45,0,.3,1) both}
.robot.busy .tickmeter{animation:tickrun .95s cubic-bezier(.45,0,.3,1) both}
@keyframes tickflood{from{height:0}to{height:100%}}
@keyframes tickrun{from{width:0}to{width:100%}}

/* finished. Keyed on :checked so it holds with no script at all;
   :not(.busy) is what lets the script delay it while the flood runs */
.robot:not(.busy) .robot-box:checked+label .tickbox{border-color:var(--seal-solid);background:var(--seal-solid)}
.robot:not(.busy) .robot-box:checked+label .tickmark{stroke-dashoffset:0;transition:stroke-dashoffset .34s ease .04s}
.robot:not(.busy) .robot-box:checked+label .tickmeter{width:100%;opacity:.35}
.robot:not(.busy) .robot-box:checked+label .tickstate{height:auto}

.btn:disabled{background:#c7ccce;cursor:not-allowed;opacity:1}

@media (prefers-reduced-motion:reduce){
  .robot.busy .tickfill,.robot.busy .tickmeter{animation:none}
  .robot:not(.busy) .robot-box:checked+label .tickmark{transition:none}
}
.optin{position:relative;margin:-.5rem 0 1.5rem}
.optin input{position:absolute;width:1px;height:1px;opacity:0;margin:0;pointer-events:none}
.optin label{display:flex;align-items:flex-start;gap:.7rem;padding-block:.6rem;
  cursor:pointer;font-size:14px;line-height:1.55;color:var(--body,#3e4a52)}
.optinbox{position:relative;flex:0 0 20px;width:20px;height:20px;margin-top:1px;
  border:1.5px solid #9aa3aa;background:#fff;transition:border-color .2s ease,background .2s ease}
.optinbox svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.optinmark{fill:none;stroke:#fff;stroke-width:2.4;stroke-linecap:round;
  stroke-linejoin:round;stroke-dasharray:18;stroke-dashoffset:18}
.optin input:checked+label .optinbox{border-color:var(--seal-solid);background:var(--seal-solid)}
.optin input:checked+label .optinmark{stroke-dashoffset:0;transition:stroke-dashoffset .28s ease}
.optin input:focus-visible+label .optinbox{outline:2px solid var(--seal);outline-offset:3px}
.optintext{display:block;min-width:0}
.optintext a{color:var(--seal-text);text-decoration:underline;text-underline-offset:3px}
.optintext a:hover{color:var(--seal-solid)}
@media (prefers-reduced-motion:reduce){
  .optin input:checked+label .optinmark{transition:none}
}
.optinmore{display:inline-block;margin-inline-start:calc(20px + .7rem);
  font-size:13.5px;color:var(--seal-text);text-decoration:underline;
  text-underline-offset:3px}
.optinmore:hover{color:var(--seal-solid)}
@media (max-width:900px){.optinmore{padding-block:.8rem;margin-block:-.4rem}}
