/* Portfolio refinements, using the portfolio's existing paper, ink and terracotta. */
.ui-icon{display:inline-block;flex:0 0 auto;width:1em;height:1em;vertical-align:-.12em;overflow:visible;pointer-events:none}
a .ui-icon{margin-left:.35em}.expand .ui-icon{width:15px;height:15px;margin:0}.play .ui-icon,.video-cover-play .ui-icon{width:18px;height:18px}.asterisk{width:.56em;height:.56em;margin-left:.26em;vertical-align:.04em;stroke:#817652;animation:none!important;transform:none!important}
.section-nav{position:fixed;z-index:30;top:16px;left:50%;transform:translate(-50%,-18px);display:flex;gap:3px;padding:6px;border:1px solid #dcdad2d9;border-radius:100px;background:#fcfcf8ed;box-shadow:0 5px 25px #2b292516;backdrop-filter:blur(14px);opacity:0;visibility:hidden;transition:opacity .22s,transform .22s,visibility .22s}
.section-nav.is-visible{opacity:1;visibility:visible;transform:translate(-50%,0)}.section-nav a{min-height:40px;padding:0 19px;border-radius:50px;font:12px var(--mono);text-decoration:none;transition:background .2s,color .2s}.section-nav a:hover{background:var(--cream)}.section-nav a[aria-current]{background:var(--ink);color:var(--paper)}
html{scroll-padding-top:94px}.contact-buttons .pill{position:relative;isolation:isolate;overflow:hidden;gap:12px;transition:transform .25s,border-color .25s,color .25s}.contact-buttons .pill::before{content:'';position:absolute;inset:-1px;background:var(--accent);z-index:-1;transform:translateY(101%);transition:transform .32s cubic-bezier(.2,.8,.2,1)}.contact-buttons .pill .ui-icon{width:23px;height:23px;margin:0;transition:transform .25s}.contact-buttons .pill:is(:hover,:focus-visible,:active){border-color:var(--accent);color:var(--paper)}.contact-buttons .pill:is(:hover,:focus-visible,:active)::before{transform:translateY(0)}.contact-buttons .pill:is(:hover,:focus-visible) .ui-icon{transform:translate(3px,-3px)}
 .viewer-controls button{display:grid;place-items:center;width:46px;height:46px;border:1px solid var(--line);border-radius:50%;background:var(--paper);transition:background .18s}.viewer-controls button:hover{background:var(--cream)}.viewer-controls .ui-icon{width:18px;height:18px}
#lightbox{width:min(1120px,94vw);max-width:94vw;max-height:94dvh;padding:0;overflow:auto;text-align:left;box-shadow:0 24px 90px #0004;border:1px solid var(--line);border-radius:18px}#lightbox::backdrop{background:#22201bdb;backdrop-filter:blur(10px)}.viewer-header{display:flex;justify-content:space-between;align-items:center;padding:22px 26px;gap:24px;border-bottom:1px solid var(--line)}.viewer-header h2{font-size:23px;margin:5px 0 0}.viewer-header .eyebrow{font-size:9px;color:var(--muted)}#lightbox .close{position:static;display:grid;place-items:center;flex-shrink:0;border:1px solid var(--line);background:transparent}.close .ui-icon{width:20px;height:20px}.viewer-stage{height:61dvh;min-height:220px;background:#f0eee8;display:grid;place-items:center;padding:22px}#full-image{display:block;width:100%;height:100%;min-height:0;max-width:100%;max-height:100%;object-fit:contain}.viewer-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:nowrap;padding:20px 26px;gap:24px}.viewer-copy{flex:1;min-width:0}.viewer-copy .eyebrow{font-size:9px;color:var(--accent)}#caption{font:14px/1.65 'DM Sans',sans-serif;max-width:70ch;margin:6px 0 0;color:var(--muted)}.viewer-controls{display:flex;gap:8px;flex-shrink:0}body.viewer-open{overflow:hidden}
/* The same lift and warm highlight used by the culture cards. */
.culture-card:focus-visible{background:#f3f0e8;border-color:#817652;transform:translateY(-3px)}
.tile{transition:transform .2s,box-shadow .2s}
.tile:is(:hover,:focus-visible){transform:translateY(-3px);box-shadow:0 0 0 2px #817652,0 8px 20px #2b292512}
#youtube-work .channel,.video-card{transition:background .2s,border-color .2s,transform .2s,box-shadow .2s}
#youtube-work .channel:is(:hover,:focus-within){background:#f3f0e8;border-color:#817652;transform:translateY(-3px);box-shadow:0 8px 20px #2b292508}
.video-card{border-radius:12px}
.video-card:is(:hover,:focus-within){background:#f3f0e8;transform:translateY(-3px);box-shadow:0 0 0 8px #f3f0e8}
.intro-links a{transition:color .2s,transform .2s}
.intro-links a:is(:hover,:focus-visible){color:var(--accent);transform:translateY(-2px)}
@media(max-width:700px){.section-nav{top:10px;max-width:calc(100% - 24px);padding:4px;gap:0}.section-nav a{padding:0 13px;font-size:11px;min-height:42px}.intro>.eyebrow{font-size:10px;letter-spacing:.02em}.viewer-header{padding:16px}.viewer-header h2{font-size:20px}.viewer-stage{height:51dvh;padding:12px}.viewer-footer{padding:16px;gap:12px;align-items:flex-start}.viewer-controls{gap:4px}.viewer-controls button{width:44px;height:44px}#caption{font-size:12px}.viewer-copy .eyebrow{font-size:9px}.contact-buttons .pill{gap:8px}.contact-buttons .pill .ui-icon{width:20px;height:20px}}
@media(max-width:370px){.section-nav a{padding:0 11px}}
@media(prefers-reduced-motion:reduce){.section-nav,.contact-buttons .pill,.contact-buttons .pill::before,.contact-buttons .pill .ui-icon,.tile,#youtube-work .channel,.video-card,.intro-links a,.culture-card{transition:none!important}.tile:is(:hover,:focus-visible),#youtube-work .channel:is(:hover,:focus-within),.video-card:is(:hover,:focus-within),.intro-links a:is(:hover,:focus-visible),.culture-card:is(:hover,:focus-visible){transform:none}}
