@font-face{font-family:ZillaSlab;src:url(/fonts/zillaslab500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:ZillaSlab;src:url(/fonts/zillaslab600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Atkinson;src:url(/fonts/atkinson400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Atkinson;src:url(/fonts/atkinson700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}:root{--bg:#EFEDEA;--surface:#F7F6F4;--text:#201B18;--muted:#5C6670;--primary:#7B2D26;--on-primary:#FFFFFF;--rule:#D8D4CE;--display:"ZillaSlab",Georgia,serif;--body:"Atkinson",system-ui,sans-serif;--radius:4px;--measure:68ch}:root:not([data-theme=light]){@media (prefers-color-scheme:dark){--bg:#1A1513;--surface:#241D1A;--text:#EFEDEA;--muted:#8A939C;--primary:#DA7A6D;--rule:#3A302C}}:root[data-theme=dark]{--bg:#1A1513;--surface:#241D1A;--text:#EFEDEA;--muted:#8A939C;--primary:#DA7A6D;--rule:#3A302C}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--body);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--display);font-weight:600;line-height:1.14;margin:0 0 .5em;text-wrap:balance}h1{font-size:clamp(30px,5vw,52px);letter-spacing:-.02em}h2{font-size:clamp(22px,3.2vw,32px);letter-spacing:-.01em}h3{font-size:19px}p{margin:0 0 1em;max-width:var(--measure)}a{color:inherit}:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.wrap{max-width:1080px;margin:0 auto;padding:0 clamp(18px,5vw,40px)}.narrow{max-width:760px}.btn{display:inline-block;background:var(--primary);color:var(--on-primary);padding:12px 22px;border-radius:var(--radius);font-family:var(--body);font-weight:700;text-decoration:none;font-size:16px}.btn.ghost{background:transparent;color:var(--text);box-shadow:inset 0 0 0 1px var(--rule)}.rule{height:1px;background:var(--rule);border:0;margin:48px 0}.kicker{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 12px}.grid{display:grid;grid-gap:20px;gap:20px}.cols-2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.cols-3{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.card{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);padding:22px;text-decoration:none;display:block}.card h3{margin:0 0 6px}.card p{margin:0;font-size:15px}.card p,.muted{color:var(--muted)}.scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:15px}td,th{text-align:left;padding:9px 12px;border-bottom:1px solid var(--rule)}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.hero{display:grid;grid-template-columns:1.05fr .95fr;grid-gap:clamp(24px,5vw,64px);gap:clamp(24px,5vw,64px);align-items:end}@media (max-width:900px){.hero{grid-template-columns:1fr}}.hero-img{border-radius:var(--radius);overflow:hidden;border:1px solid var(--rule)}.hero-img img{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:3/2}.lede{font-size:20px;color:var(--muted);max-width:52ch}.numlist{display:grid;grid-gap:0;gap:0;margin-top:8px}.numrow{display:grid;grid-template-columns:64px 1fr;grid-gap:20px;gap:20px;padding:26px 0;border-top:1px solid var(--rule);align-items:start}.numrow:last-child{border-bottom:1px solid var(--rule)}.numrow .n{font-family:var(--display);font-size:15px;color:var(--primary);font-weight:600;letter-spacing:.04em;padding-top:3px}.numrow h3{margin:0 0 6px;font-size:21px}.numrow p{margin:0;color:var(--muted);font-size:16px;max-width:58ch}.strip{background:var(--surface);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:clamp(30px,5vw,52px) 0;margin-top:60px}.strip .figure{font-family:var(--display);font-size:clamp(40px,7vw,76px);color:var(--primary);line-height:1;font-weight:600;letter-spacing:-.02em}.index{column-count:3;column-gap:36px;margin-top:22px}@media (max-width:820px){.index{column-count:2}}@media (max-width:520px){.index{column-count:1}}.index a{display:block;page-break-inside:avoid;break-inside:avoid;padding:8px 0;text-decoration:none;border-bottom:1px solid var(--rule);font-size:15.5px}.index a span{color:var(--muted);font-size:13px}.quote{font-family:var(--display);font-size:clamp(22px,3.4vw,32px);line-height:1.28;max-width:22ch;margin:0;letter-spacing:-.01em}.pullbar{border-left:3px solid var(--primary);padding-left:22px}.btn{position:relative;transition:transform .18s cubic-bezier(.22,.61,.36,1),opacity .18s}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn.arrow:after{content:"\2192";display:inline-block;margin-left:10px;transition:transform .22s cubic-bezier(.22,.61,.36,1)}.btn.arrow:hover:after{transform:translateX(4px)}a.u{text-decoration:none;background-image:linear-gradient(var(--primary),var(--primary));background-size:0 1px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .3s cubic-bezier(.22,.61,.36,1);padding-bottom:2px}a.u:hover{background-size:100% 1px}.card{transition:transform .2s cubic-bezier(.22,.61,.36,1),border-color .2s}.card:hover{transform:translateY(-2px);border-color:var(--primary)}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:30;background:var(--bg);border-bottom:1px solid var(--rule)}@media (prefers-reduced-motion:reduce){.btn,.btn.arrow:after,.card,a.u{transition:none!important}.btn:hover,.card:hover{transform:none!important}}.provrow{display:grid;grid-template-columns:160px 1fr 40px;grid-gap:24px;gap:24px;align-items:start;padding:32px 0;border-top:1px solid var(--rule);text-decoration:none;color:inherit;transition:background .2s cubic-bezier(.22,.61,.36,1)}.provrow:last-of-type{border-bottom:1px solid var(--rule)}.provrow:hover{background:var(--surface)}.provrow .n{font-family:var(--display);font-size:15px;color:var(--primary);font-weight:600;letter-spacing:.04em;padding-top:4px}.provrow h3{margin:0 0 3px;font-size:24px}.provrow .role{margin:0 0 10px;color:var(--primary);font-weight:700;font-size:15px}.provrow .bio{margin:0 0 10px;color:var(--muted);font-size:16px;max-width:60ch}.provrow .specs{margin:0;font-size:13.5px;letter-spacing:.02em;color:var(--muted)}.provrow .go{font-size:20px;color:var(--muted);padding-top:4px;transition:transform .22s cubic-bezier(.22,.61,.36,1)}.provrow:hover .go{transform:translateX(5px);color:var(--primary)}@media (max-width:700px){.provrow{grid-template-columns:1fr}.provrow .go{display:none}}.prose{max-width:var(--measure)}.prose h2{margin:38px 0 10px}.prose h3{margin:26px 0 6px}.prose p{margin:0 0 15px}.prose ul{margin:0 0 18px;padding-left:22px}.prose li{margin-bottom:7px}.prose a{color:var(--primary)}.sources{font-size:15px;color:var(--muted)}.sources li{margin-bottom:7px}.cols-blog{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.catpill{font:inherit;font-size:13.5px;padding:6px 12px;border-radius:999px;border:1px solid var(--rule);color:var(--muted);background:var(--surface);cursor:pointer;transition:background .18s,color .18s,border-color .18s}.catpill:hover{border-color:var(--primary);color:var(--text)}.catpill[data-active=true]{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.blogcard{display:flex;flex-direction:column;text-decoration:none;color:inherit;background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);overflow:hidden;transition:transform .2s cubic-bezier(.22,.61,.36,1),border-color .2s}.blogcard:hover{transform:translateY(-3px);border-color:var(--primary)}.blogcard .fr{aspect-ratio:16/10;overflow:hidden;background:var(--bg)}.blogcard .fr img{width:100%;height:100%;object-fit:cover;display:block}.blogcard .body{padding:20px 22px 22px;display:flex;flex-direction:column;gap:8px;flex:1 1}.blogcard .meta{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;font-size:12.5px}.blogcard .cat{color:var(--primary);font-weight:700;letter-spacing:.03em;text-transform:uppercase}.blogcard h3{margin:2px 0 0;font-size:19px;line-height:1.32}.blogcard p{margin:0;color:var(--muted);font-size:14.5px;line-height:1.55;flex:1 1}.blogcard .go{margin-top:12px;font-size:14px;font-weight:600;color:var(--primary);display:flex;align-items:center;gap:5px}.blogcard:hover .go span{transform:translateX(4px)}.blogcard .go span{display:inline-block;transition:transform .22s cubic-bezier(.22,.61,.36,1)}@media (prefers-reduced-motion:reduce){.blogcard{transition:none!important}.blogcard:hover{transform:none!important}.blogcard .go span{transition:none!important}}.bullet{position:relative;padding-left:20px;margin:0 0 9px;max-width:var(--measure)}.bullet:before{content:"";position:absolute;left:0;top:.62em;width:8px;height:1px;background:var(--primary)}.tile{display:block;text-decoration:none;color:inherit}.tile .fr{position:relative;overflow:hidden;border-radius:var(--radius);background:var(--surface);aspect-ratio:4/3}.tile .fr img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.22,.61,.36,1)}.tile:hover .fr img{transform:scale(1.04)}.tile h3{margin:14px 0 4px;font-size:18px;line-height:1.25}.tile p{margin:0;font-size:14.5px;color:var(--muted);line-height:1.55}.tilegrid{display:grid;grid-gap:30px 26px;gap:30px 26px;grid-template-columns:repeat(auto-fill,minmax(258px,1fr));margin-top:22px}.figwide{margin:0;border-radius:var(--radius);overflow:hidden;background:var(--surface)}.figwide img{width:100%;display:block}.figcap{margin:10px 0 0;font-size:13.5px;color:var(--muted)}.portrait{border-radius:var(--radius);overflow:hidden;background:var(--surface);aspect-ratio:1/1}.portrait img{object-position:center 22%}.bleed video,.figwide video,.hero-img video,.plate video,.portrait img,.shot video{width:100%;height:100%;object-fit:cover;display:block}.tonalwash{position:fixed;inset:0;z-index:-1;pointer-events:none;transition:opacity .6s ease}.converge{position:relative}.converge .cw{display:inline-block;will-change:transform;color:var(--primary);letter-spacing:-.028em}.sysdiag{margin:0}.sysdiag svg{width:100%;height:auto;display:block;max-width:620px}.sysdiag-label{font-family:var(--display);font-size:17px;font-weight:600;letter-spacing:-.01em}[id]{scroll-margin-top:90px}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.tonalwash{display:none}.converge .cw,.tile:hover .fr img{transform:none!important}}.heroseq{display:grid;grid-gap:12px;gap:12px}.heroseq-frame{position:relative;overflow:hidden;border-radius:var(--radius);border:1px solid var(--rule);background:var(--surface);aspect-ratio:3/2}.heroseq-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;will-change:opacity}.heroseq-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:20px}.heroseq-cap{font-size:13px;letter-spacing:.02em;color:var(--muted);font-family:var(--display);font-weight:600}.heroseq-dots{display:flex;gap:6px;list-style:none;margin:0;padding:0}.heroseq-dots button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;padding:0;cursor:pointer;width:26px;height:3px;background:var(--rule);position:relative;overflow:hidden;border-radius:0;transition:background .3s ease}.heroseq-dots button.on{background:color-mix(in srgb,var(--primary) 28%,var(--rule))}.heroseq-dots button:hover{background:var(--primary)}.heroseq-dots button:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.heroseq-dots .fill{position:absolute;inset:0;background:var(--primary);transform-origin:left center}.marquee{overflow:hidden;position:relative;mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}.marquee-track{display:flex;width:max-content;animation:plans 42s linear infinite}.marquee:hover .marquee-track{animation-play-state:paused}.marquee ul{display:flex;list-style:none;margin:0;padding:0;align-items:center}.marquee li{white-space:nowrap}.marquee li span{display:inline-block;padding:0 22px;font-family:var(--display);font-weight:600;font-size:15px;letter-spacing:-.005em;color:var(--text)}.marquee li+li span{border-left:1px solid var(--rule)}@keyframes plans{0%{transform:translateX(0)}to{transform:translateX(-50%)}}.plans-static{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 18px;font-family:var(--display);font-weight:600;font-size:15px}@media (prefers-reduced-motion:reduce){.marquee-track{animation:none!important}.heroseq-frame img{transform:none!important}}.hubhead{display:grid;grid-template-columns:1.1fr .9fr;grid-gap:clamp(24px,5vw,60px);gap:clamp(24px,5vw,60px);align-items:start}@media (max-width:900px){.hubhead{grid-template-columns:1fr}}.hubfig{margin:0;border-radius:var(--radius);overflow:hidden;border:1px solid var(--rule);background:var(--surface);aspect-ratio:4/3}.hubfig img{width:100%;height:100%;object-fit:cover;display:block}.hexapt{--w1:23%;--w2:15.4%;--w3:15.4%;--w4:15.4%;--w5:15.4%;--w6:15.4%;--hexapt-ease:cubic-bezier(.22,.61,.36,1);--hexapt-dur:620ms;display:flex;width:100%;height:min(88vh,780px);background:var(--surface)}.hexapt,.hexapt-panel{position:relative;overflow:hidden}.hexapt-panel{display:block;text-decoration:none;color:#fff;border-right:1px solid rgba(255,255,255,.18);transition:width var(--hexapt-dur) var(--hexapt-ease)}.hexapt-panel:last-child{border-right:0}.hexapt-panel[data-panel="1"]{width:var(--w1)}.hexapt-panel[data-panel="2"]{width:var(--w2)}.hexapt-panel[data-panel="3"]{width:var(--w3)}.hexapt-panel[data-panel="4"]{width:var(--w4)}.hexapt-panel[data-panel="5"]{width:var(--w5)}.hexapt-panel[data-panel="6"]{width:var(--w6)}.hexapt-panel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform 8s var(--hexapt-ease)}.hexapt-panel:focus-visible img,.hexapt-panel:hover img{transform:scale(1.03)}.hexapt-panel:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,rgba(20,16,14,.82) 0,rgba(20,16,14,.58) 26%,rgba(20,16,14,.14) 58%,rgba(20,16,14,.06))}.hexapt-body{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:clamp(20px,2.4vw,34px)}.hexapt-body h2{color:#fff;margin:0 0 8px;font-size:clamp(17px,1.7vw,26px)}.hexapt-body p{color:rgba(255,255,255,.9);margin:0 0 16px;font-size:clamp(12.5px,.95vw,15px);max-width:30ch}.hexapt-pill{display:inline-block;background:var(--bg);color:var(--primary);font-family:var(--body);font-weight:700;font-size:13.5px;padding:9px 18px;border-radius:999px;transition:background var(--hexapt-dur) var(--hexapt-ease),color var(--hexapt-dur) var(--hexapt-ease)}.hexapt-panel:focus-visible .hexapt-pill,.hexapt-panel:hover .hexapt-pill{background:var(--primary);color:var(--on-primary)}.hexapt-panel:focus-visible{outline:3px solid var(--bg);outline-offset:-6px}.hexapt:has(.hexapt-panel[data-panel="1"]:hover){--w1:36.8%;--w2:12.64%;--w3:12.64%;--w4:12.64%;--w5:12.64%;--w6:12.64%}.hexapt:has(.hexapt-panel[data-panel="2"]:hover){--w1:15.8%;--w2:32.2%;--w3:13%;--w4:13%;--w5:13%;--w6:13%}.hexapt:has(.hexapt-panel[data-panel="3"]:hover){--w1:15.8%;--w2:13%;--w3:32.2%;--w4:13%;--w5:13%;--w6:13%}.hexapt:has(.hexapt-panel[data-panel="4"]:hover){--w1:15.8%;--w2:13%;--w3:13%;--w4:32.2%;--w5:13%;--w6:13%}.hexapt:has(.hexapt-panel[data-panel="5"]:hover){--w1:15.8%;--w2:13%;--w3:13%;--w4:13%;--w5:32.2%;--w6:13%}.hexapt:has(.hexapt-panel[data-panel="6"]:hover){--w1:15.8%;--w2:13%;--w3:13%;--w4:13%;--w5:13%;--w6:32.2%}@media (max-width:1023px){.hexapt{flex-direction:column;height:auto;--w1:100%;--w2:100%;--w3:100%;--w4:100%;--w5:100%;--w6:100%}.hexapt-panel{height:24vh;min-height:170px;border-right:0;border-bottom:1px solid rgba(255,255,255,.18)}
  /* !important for the same reason as the reduced-motion hold below: the
     per-panel hover rules above this media query carry higher specificity
     (an attribute selector this rule doesn't have), so without it a
     hovered panel would shrink toward its desktop hover width instead of
     staying full width when stacked. */.hexapt:has(.hexapt-panel:hover){--w1:100%!important;--w2:100%!important;--w3:100%!important;--w4:100%!important;--w5:100%!important;--w6:100%!important}}@media (prefers-reduced-motion:reduce){.hexapt-panel,.hexapt-panel img,.hexapt-pill{transition:none!important}.hexapt-panel:focus-visible img,.hexapt-panel:hover img{transform:none!important}
  /* !important: this selector's specificity is lower than the per-panel
     hover rules above (.hexapt-panel[data-panel="N"]:hover adds an
     attribute selector those don't have), so without it a hovered panel
     would still resize under reduced motion -- just without the
     transition. The hold has to win outright. */.hexapt:has(.hexapt-panel:hover){--w1:23%!important;--w2:15.4%!important;--w3:15.4%!important;--w4:15.4%!important;--w5:15.4%!important;--w6:15.4%!important}}.site-header{padding:20px 0}.sh-inner{padding:0 clamp(20px,2.4vw,34px);display:grid;grid-template-columns:auto 1fr;grid-gap:20px;gap:20px;align-items:flex-end}.sh-nav{display:flex;gap:10px 16px;flex-wrap:wrap;font-size:13.5px;justify-content:space-between}.sh-link{color:var(--muted)}.sh-cta,.sh-link{text-decoration:none;white-space:nowrap}.sh-cta{color:var(--on-primary);background:var(--primary);padding:7px 14px;border-radius:var(--radius);font-weight:700;align-self:center}.sh-mark-m,.sh-mark-s,.sh-toggle{display:none}@media (max-width:1349px){.site-header{padding:10px 0}.sh-inner{grid-template-columns:1fr auto;align-items:center;gap:12px}.sh-mark-d{display:none}.sh-mark-m{display:inline-block}.sh-inner,.sh-inner>a{min-width:0}.sh-toggle{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;padding:0;background:transparent;cursor:pointer;border:1px solid var(--rule);border-radius:var(--radius);color:var(--text)}.sh-bars,.sh-bars:after,.sh-bars:before{display:block;width:20px;height:2px;background:currentColor;border-radius:1px;position:relative;transition:transform .2s ease,background .2s ease}.sh-bars:after,.sh-bars:before{content:"";position:absolute;left:0}.sh-bars:before{top:-6px}.sh-bars:after{top:6px}.sh-toggle[aria-expanded=true] .sh-bars{background:transparent}.sh-toggle[aria-expanded=true] .sh-bars:before{top:0;transform:rotate(45deg)}.sh-toggle[aria-expanded=true] .sh-bars:after{top:0;transform:rotate(-45deg)}.sh-nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;flex-wrap:nowrap;justify-content:flex-start;gap:0;font-size:17px;padding:6px clamp(20px,5vw,34px) 22px;background:var(--bg);border-bottom:1px solid var(--rule);max-height:calc(100dvh - 68px);overflow-y:auto;overscroll-behavior:contain}.sh-nav[data-open=true]{display:flex}.sh-link{display:block;padding:14px 0;border-bottom:1px solid var(--rule);color:var(--text)}.sh-cta{display:block;text-align:center;padding:14px 18px;margin-top:12px;font-size:16px;align-self:stretch}.sh-link+.sh-cta{margin-top:20px}}@media (prefers-reduced-motion:reduce){.sh-bars,.sh-bars:after,.sh-bars:before{transition:none}}@media (max-width:640px){.bookbar-note{display:none}.bookbar-in .btn{width:100%;text-align:center;padding:13px 18px}.strip-grid{grid-template-columns:1fr!important;gap:18px!important}.footer-contact{text-align:left!important}}@media (max-width:359px){.sh-mark-m{display:none}.sh-mark-s{display:inline-block}.sh-inner{padding:0 16px}}.prose,.prose a,.sources,.sources a{overflow-wrap:anywhere}img,svg,video{max-width:100%}.prose table{display:block}.prose pre,.prose table{overflow-x:auto;max-width:100%}@media (max-width:1023px){.legal-link{display:inline-block;padding:10px 0}}.ft-mark-s{display:none}@media (max-width:479px){.ft-mark-d{display:none}.ft-mark-s{display:inline-block}}blockquote,dd,h1,h2,h3,h4,li,p{overflow-wrap:anywhere}@media (min-width:1350px) and (max-width:1439px){.sh-nav{gap:8px 8px;font-size:13px}.sh-cta{padding:7px 11px}}