/* Private review refinement. Shared rules are deliberately loaded last. */
::selection{background:#cce69a!important;color:#151614!important}
::-moz-selection{background:#cce69a!important;color:#151614!important}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
/* A blending logo cannot invert the page from inside an isolated header.
   The header is a semantic wrapper; logo and navigation each own their layer. */
body .site-header{display:contents!important;backdrop-filter:none!important;background:none!important;isolation:auto!important}
body .site-header .brand{position:fixed;left:32px;top:23px;z-index:2101;color:#fff!important;mix-blend-mode:difference;pointer-events:auto;isolation:auto}
body .site-header .brand svg,body .site-header .brand svg *{fill:currentColor!important;stroke:none!important}
body .site-header .main-nav{position:fixed;top:18px;right:32px;z-index:2102;height:44px;max-width:calc(100vw - 260px);margin:0;flex-wrap:nowrap;background:transparent!important}
.site-search{position:relative;flex:none;align-self:center;color:#171917;line-height:1.4}
.site-search-toggle{display:grid;place-items:center;border:0;border-radius:50%;width:40px;height:40px;padding:10px;color:inherit;background:transparent}
.site-search-toggle:hover,.site-search-toggle[aria-expanded=true]{background:#171917;color:white}
.site-search-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}
.site-search-panel{position:absolute;right:0;top:calc(100% + 8px);width:min(420px,calc(100vw - 32px));padding:15px;background:#f5f5f2;box-shadow:0 12px 45px #0002;border:1px solid #191b1815;border-radius:18px;color:#171917;animation:search-reveal .2s ease}
.site-search-panel[hidden]{display:none!important}
.site-search-field{display:block}
.site-search input{display:block;width:100%;padding:10px 5px 13px;border:0;border-bottom:1px solid #191b1830;border-radius:0;background:transparent;color:#171917;font:400 15px/1.4 Arial,sans-serif;box-sizing:border-box}
.site-search-status{font:400 11px/1.5 Arial,sans-serif;margin:12px 5px!important;color:#62665c}
.site-search-results{max-height:min(65dvh,560px);overflow:auto;overscroll-behavior:contain}
body .site-header .main-nav a.site-search-result{display:flex!important;align-items:flex-start!important;justify-content:flex-start!important;gap:13px;min-height:0;padding:13px 5px!important;border-radius:6px!important;color:#171917!important;background:transparent!important;white-space:normal;border-top:1px solid #191b1812;text-align:left}
body .site-header .main-nav a.site-search-result:hover,body .site-header .main-nav a.site-search-result:focus-visible{background:#e6e9df!important;color:#171917!important}
.site-search-result::after{display:none!important}
.site-search-result img{width:83px;height:65px;object-fit:cover;flex:none;border-radius:2px}
.site-search-result div{min-width:0}
.site-search-result small{display:block;font:400 10px/1.3 Arial,sans-serif;text-transform:uppercase;letter-spacing:.055em;color:#686d60;margin-bottom:5px}
.site-search-result strong{display:block;font:400 15px/1.25 Arial,sans-serif;letter-spacing:-.015em}
.site-search-result p{font:400 12px/1.45 Arial,sans-serif;margin:6px 0 0!important;color:#62665c}
@keyframes search-reveal{from{opacity:0;translate:0 -4px}to{opacity:1;translate:0 0}}
.page-projects .browser-view-switch .globe-view-icon{fill:currentColor!important;stroke:none!important}
.page-projects [data-view=rotunda] .rotunda-footer{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;padding:0;overflow:hidden;flex:0}
.page-projects [data-view=rotunda] .rotunda-stage{overflow:hidden;--card-h:min(53svh,580px)}
.page-projects [data-view=rotunda] :is(.rotunda-card,.rotunda-copy){position:absolute;left:50%;top:46%;width:var(--card-w);height:var(--card-h);max-height:calc(100% - 128px);will-change:transform;transform-origin:center}
.page-projects [data-view=rotunda] .rotunda-card-link{height:100%;color:inherit;text-decoration:none}
.page-projects [data-view=rotunda] .rotunda-image-wrap{height:100%;box-shadow:none}
.rotunda-card-caption{display:none}
[data-view=rotunda] .rotunda-card-caption{display:block;width:var(--caption-width,100%);max-width:100%;margin:0 auto;text-align:center;padding-top:14px;transform:scale(var(--caption-scale,1));transform-origin:top center;color:#171917;pointer-events:none}
.rotunda-card-caption img{display:block;width:22px;height:22px;object-fit:contain;margin:0 auto 7px}
.rotunda-card-caption h2{font-size:clamp(13px,1.35vw,21px);font-weight:400;letter-spacing:-.025em;line-height:1.15;margin:0 auto 5px;max-width:100%;text-wrap:balance;overflow-wrap:break-word}
.rotunda-card-caption p{font-size:10px;line-height:1.5;margin:0;color:#686b62}
[data-view=rotunda] :is(.rotunda-card,.rotunda-copy):not(.is-current) .rotunda-card-caption p{visibility:hidden}
[data-view=rotunda] :is(.rotunda-card,.rotunda-copy):not(.is-current) .rotunda-card-caption img{visibility:hidden}
[data-view=rotunda] :is(.rotunda-card,.rotunda-copy).is-current .rotunda-card-caption h2{font-size:clamp(16px,1.65vw,26px)}
[data-view=rotunda] :is(.rotunda-card,.rotunda-copy).is-current .rotunda-card-caption p{font-size:11px}
[data-view=rotunda] .rotunda-card-caption{box-sizing:border-box;transform:none;padding-inline:8px;overflow:hidden}
[data-view=rotunda] .rotunda-card-caption h2{overflow-wrap:anywhere!important}
[data-view]:not([data-view=rotunda]) .rotunda-copy{display:none!important}
.rotunda-copy .grid-caption{display:none}
.rotunda-copy[hidden]{display:none!important}
.story-slide__topline{display:none!important}
.project-deck .story-slide:is(.story-slide--image,.story-slide--pair,.story-slide--grid):not(:has(.story-copy)){padding:0!important;overflow:hidden}
.story-slide:is(.story-slide--image,.story-slide--pair,.story-slide--grid):not(:has(.story-copy)) .story-composition{width:100%;height:100%;min-height:0;max-width:none;margin:0;gap:3px;flex:1 1 0}
.story-slide:is(.story-slide--image,.story-slide--pair,.story-slide--grid):not(:has(.story-copy)) .story-media{height:100%;min-height:0;gap:3px;align-items:stretch}
.story-slide:is(.story-slide--image,.story-slide--pair,.story-slide--grid):not(:has(.story-copy)) .story-media__item :is(img,video){object-fit:cover;max-height:none;height:100%;width:100%}
.project-deck .story-slide:has(.story-copy){padding-top:clamp(94px,12vh,150px);padding-bottom:76px}
.story-auto-toggle{position:fixed;bottom:25px;left:27px;z-index:2203;display:grid;place-items:center;width:36px;height:36px;background:transparent;border:0;border-radius:50%;color:white;mix-blend-mode:difference;cursor:pointer}
.story-auto-toggle svg{width:14px;height:14px;fill:currentColor}
.story-auto-toggle[aria-pressed=true] .auto-pause,.story-auto-toggle[aria-pressed=false] .auto-play{display:none}
.story-auto-toggle[hidden]{display:none!important}
.story-auto-toggle:hover{background:#ffffff20}
.page-project-detail .story-reader,.page-project-detail:not(.project-on-last) .story-project-nav a{mix-blend-mode:difference}
/* Keep image slides cinematic on tall screens, without stretching or cropping
   away drawings. Ultrawide viewports fit the same 16:9 stage vertically. */
.project-deck .story-slide:is(.story-slide--image,.story-slide--pair,.story-slide--grid):not(:has(.story-copy)){justify-content:center;align-items:center}
.project-deck .story-slide:is(.story-slide--image,.story-slide--pair,.story-slide--grid):not(:has(.story-copy)) .story-composition{width:min(100vw,177.7778dvh);height:auto;aspect-ratio:16/9;flex:none!important;max-height:100dvh}
.project-deck .story-slide:is(.story-slide--image,.story-slide--pair,.story-slide--grid):not(:has(.story-copy)) .story-media__item :is(img,video){object-fit:contain!important;max-height:100%!important}
.page-project-detail .story-reader,.page-project-detail .story-project-nav a{color:white!important;mix-blend-mode:difference!important;transition:opacity .35s ease!important}
.page-project-detail.project-controls-idle .story-reader,.page-project-detail.project-controls-idle .story-project-nav a{opacity:0!important;pointer-events:none!important}
.page-project-detail.project-controls-idle .story-reader :is(a,button){pointer-events:none!important}
.page-project-detail .story-reader:focus-within,.page-project-detail .story-project-nav a:focus-visible{opacity:1!important;pointer-events:auto!important}
.page-home .icon-stage .icon,.page-home .icon-stage .icon.is-hot{z-index:0!important}
.page-home .story-copy h4,.page-about .about-columns h4,.page-contact .contact-details>div,.social-pills,.contact-pill,.social-pill{transform:none!important;translate:none!important;animation:none!important}
.home-spring-entry .page-home .story-copy h4{visibility:visible!important}
.page-about .about-columns h4{opacity:1!important}
@media(max-width:1100px) and (min-width:701px){body .site-header .main-nav{gap:1px!important;right:20px;max-width:calc(100vw - 235px)}body .site-header .main-nav>a{padding:8px!important;font-size:11px!important}.site-search-toggle{width:32px;height:36px;padding:7px}}
@media(max-width:700px){body .site-header .brand{top:20px;left:16px}body .site-header .main-nav{top:53px;left:12px;right:12px;width:auto;max-width:none;height:42px;gap:0!important;justify-content:space-between!important}body .site-header .main-nav>a{padding:6px 4px!important;font-size:9px!important}.site-search-toggle{width:30px;height:34px;padding:6px}.site-search-panel{position:fixed;top:101px;left:12px;right:12px;width:auto}.site-search-result img{width:70px;height:58px}.page-projects [data-view=rotunda] .rotunda-stage{--card-h:43svh}.page-projects [data-view=rotunda] :is(.rotunda-card,.rotunda-copy){top:43%;max-height:calc(100% - 120px)}.rotunda-card-caption h2{font-size:13px}.rotunda-card-caption p{font-size:9px}.rotunda-card-caption img{width:18px;height:18px}.story-auto-toggle{left:14px;bottom:22px}}
@media(prefers-reduced-motion:reduce){.site-search-panel{animation:none}.story-auto-toggle{display:none}}
@media(max-width:380px){body .site-header .main-nav>a{font-size:8px!important;padding:6px 2px!important}.site-search-toggle{width:28px}}
@media(max-width:600px){[data-view=rotunda] :is(.rotunda-card,.rotunda-copy):not(.is-current) .rotunda-card-caption h2{font-size:11px;overflow-wrap:normal}.rotunda-card-caption p:last-child{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}}
