/* Lightseer / About — ink, paper and light. */
@font-face{font-family:Fraunces;src:url('/assets/fonts/fraunces.woff2') format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:Caveat;src:url('/assets/fonts/caveat.ttf') format('truetype');font-weight:400 700;font-display:swap}
body.about-page{--paper:#f4f3eb;--ink:#11110e;--red:#db291b;--serif:Fraunces,Georgia,serif;--mono:"Courier New",Courier,monospace;--ease:cubic-bezier(.16,1,.3,1);background:var(--paper);color:var(--ink);font-family:Helvetica,Arial,sans-serif;letter-spacing:0;text-shadow:none;padding:0;color-scheme:light}
html:has(.about-page){background:#f4f3eb;scroll-behavior:smooth;scroll-padding-top:25px}
.about-page #main{max-width:none;padding:0}.about-page a{text-decoration:none;color:inherit}.about-page a:focus-visible,.about-page button:focus-visible{outline:2px solid var(--red);outline-offset:5px}.about-page ::selection{background:var(--red);color:var(--paper)}
.about{overflow:clip}.ab-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
/* Every desktop position is measured from the supplied 1586 × 992 reference. */
.ab-nav{--unit:calc(100vw / 1586);position:absolute;inset:0 0 auto;height:calc(94 * var(--unit));z-index:40;font-size:calc(15 * var(--unit));font-weight:500}
.ab-logo{position:absolute;left:calc(75 * var(--unit));top:calc(29 * var(--unit));width:calc(32 * var(--unit));height:calc(34 * var(--unit))}.ab-logo svg{width:100%;height:100%;fill:var(--ink)}
.ab-nav nav{position:absolute;left:calc(161 * var(--unit));top:calc(36 * var(--unit));display:grid;grid-template-columns:calc(90 * var(--unit)) calc(80 * var(--unit)) calc(103 * var(--unit)) auto}.ab-nav nav a{padding:4px 0;width:fit-content}.ab-nav nav a:hover{color:var(--red)}
.ab-contact{position:absolute;right:calc(60 * var(--unit));top:calc(26 * var(--unit));width:calc(110 * var(--unit));height:calc(41 * var(--unit));display:flex;justify-content:center;gap:calc(10 * var(--unit));align-items:center;background:#060606;color:var(--paper)!important;border-radius:40px;font:calc(11 * var(--unit)) Georgia,serif}.ab-contact span{font:calc(20 * var(--unit))/1 Arial;transition:translate .3s}.ab-contact:hover span{translate:3px 0}
.ab-hero{height:calc(100vw * 992 / 1586);position:relative;isolation:isolate;overflow:hidden;background:var(--paper)}.ab-board{--unit:calc(100vw / 1586);position:absolute;inset:0}.ab-piece{position:absolute;left:calc(var(--x)*var(--unit));top:calc(var(--y)*var(--unit));width:calc(var(--w)*var(--unit));height:calc(var(--h)*var(--unit));translate:calc(var(--pointer-x,0)*var(--depth)*1px) calc((var(--pointer-y,0)*1px - var(--scroll,0)*var(--unit)*12)*var(--depth));z-index:var(--order);pointer-events:none}.ab-layer{height:100%;width:100%;rotate:var(--angle);transform-origin:50% 70%}.ab-plate,.ab-plate-crop{display:block;width:100%;height:100%;max-width:none}.ab-base .ab-layer{animation:none!important}.ab-photo{width:100%;height:100%;clip-path:var(--tear)}.ab-photo img{width:100%;height:100%;max-width:none;object-fit:cover;filter:grayscale(1) contrast(1.13)}.ab-portrait .ab-photo{clip-path:polygon(0 0,99% 0,100% 88%,94% 88.5%,88% 91%,80% 89%,74% 92%,67% 90%,64% 94%,50% 91%,40% 92%,30% 89%,22% 92%,11% 91%,0 88%)}
.ab-portrait .ab-photo img{transform:translateY(calc(-120 * var(--unit))) scale(1.8);transform-origin:50% 50%}.ab-field .ab-photo{clip-path:polygon(0 6%,3% 3%,8% 4%,11% 0,18% 6%,24% 1%,29% 3%,34% 8%,38% 6%,40% 10%,46% 6%,51% 12%,57% 10%,63% 15%,69% 10%,76% 16%,83% 18%,88% 15%,96% 13%,100% 9%,100% 91%,95% 88%,91% 97%,84% 91%,75% 100%,66% 94%,58% 95%,48% 89%,43% 100%,36% 95%,30% 99%,21% 92%,13% 94%,7% 90%,0 94%)}.ab-figure .ab-photo{clip-path:polygon(0 0,92% 0,99% 3%,100% 100%,0 100%)}.ab-red-tape .ab-layer{mix-blend-mode:multiply}
.ab-intro__title{font:500 calc(var(--unit)*46)/.9 Georgia,'Times New Roman',serif;letter-spacing:calc(var(--unit)*-2.4);margin:0}.ab-typewriter{font:calc(var(--unit)*11.2)/1.55 var(--mono);letter-spacing:.055em}.ab-intro .ab-typewriter{margin:calc(39 * var(--unit)) 0 0 calc(21 * var(--unit))}.ab-small-rule{display:block;width:calc(26 * var(--unit));height:1px;margin:calc(20 * var(--unit)) 0 0 calc(21 * var(--unit));background:var(--ink)}.ab-hand{font:400 calc(var(--unit)*30)/.98 Caveat,cursive;letter-spacing:.01em}.ab-red{color:var(--red)}.ab-margin-note .ab-hand{font-size:calc(var(--unit)*17);text-transform:uppercase;letter-spacing:.1em;line-height:1.1}.ab-maker-note .ab-hand{font-size:calc(var(--unit)*29)}.ab-maker-note .ab-pen{height:calc(70 * var(--unit));margin-top:calc(7 * var(--unit))}.ab-registration{position:relative;height:calc(55 * var(--unit));width:calc(25 * var(--unit))}.ab-registration span{position:absolute;top:0;left:50%;height:100%;width:1px;background:#1116}.ab-registration i{position:absolute;top:54%;left:0;width:100%;height:1px;background:#1116}.ab-coordinates .ab-typewriter{font-size:calc(var(--unit)*9);line-height:1.9;text-transform:uppercase;letter-spacing:.08em}.ab-pen{height:100%;width:100%;overflow:visible}.ab-pen path{fill:none;stroke:var(--red);stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}.ab-maker-note .ab-pen path{stroke:#555;stroke-width:.9}
.ab-artwork{display:block;position:relative;height:100%;width:100%;pointer-events:auto;filter:drop-shadow(7px 12px 8px #0004);transition:filter .5s,transform .7s var(--ease)}.ab-artwork:hover,.ab-artwork:focus-visible{transform:rotate(1deg) translateY(-5px);filter:drop-shadow(10px 18px 11px #0005)}.ab-artwork__paper{height:100%;background:#efeee6;clip-path:var(--tear);border-right:calc(6 * var(--unit)) solid #b7b5ac;box-shadow:inset 6px 0 18px #0001;padding:calc(12 * var(--unit)) calc(7 * var(--unit))}.ab-artwork img{display:block;width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply;filter:contrast(1.03)}
.ab-film{height:100%;background:#eeeae0;padding:calc(11 * var(--unit));pointer-events:auto;box-shadow:3px 7px 5px #0004;border-bottom:calc(6 * var(--unit)) solid #b5b4aa}.ab-film__images{height:calc(100% - 17 * var(--unit));position:relative;overflow:hidden;background:var(--ink)}.ab-film__frame{position:absolute;inset:0;display:block;color:var(--paper)!important}.ab-film__frame[hidden]{display:none}.ab-film__frame img{height:100%;width:100%;object-fit:cover;filter:grayscale(1);transition:filter .6s,transform 1.3s var(--ease)}.ab-film__frame:hover img,.ab-film__frame:focus-visible img{filter:none;transform:scale(1.035)}.ab-film__frame span{position:absolute;bottom:0;left:0;right:0;padding:22px 10px 8px;background:linear-gradient(transparent,#0009);font:calc(var(--unit)*10)/1.3 var(--mono)}.ab-film__footer{height:calc(18 * var(--unit));display:flex;align-items:center;justify-content:space-between;font:calc(var(--unit)*8)/1 var(--mono);text-transform:uppercase;letter-spacing:.03em}.ab-film__footer b{font-weight:400}.ab-film__controls{display:flex;gap:5px}.ab-film__controls[hidden]{display:none}.ab-film button{width:calc(24 * var(--unit));height:calc(22 * var(--unit));border:0;background:transparent;color:var(--ink);font-size:calc(15 * var(--unit));cursor:pointer}.ab-film button:hover{color:var(--red)}
.ab-paper-grain{display:none}.ab-hero-tools{position:absolute;z-index:32;right:3.8%;bottom:14px;display:flex;gap:24px;align-items:center;padding:6px 9px;background:#f4f3eacf}.ab-motion,.ab-scroll{font:9px/1.3 var(--mono);letter-spacing:.06em;text-transform:uppercase}.ab-motion{border:0;border-bottom:1px solid #1116;background:transparent;padding:5px 0;color:var(--ink);cursor:pointer}.ab-motion[hidden]{display:none}.ab-scroll span{display:inline-block;margin-left:10px;font-size:16px}.ab-motion:hover{color:var(--red)}
.ab-studio{position:relative;background:var(--paper);padding:110px 7% 120px}.ab-studio__edge{position:absolute;left:0;right:0;top:-15px;height:17px;background:var(--paper);clip-path:polygon(0 61%,3% 40%,6% 76%,10% 17%,16% 36%,21% 0,30% 67%,39% 15%,48% 50%,55% 20%,60% 64%,68% 40%,74% 71%,79% 25%,84% 59%,92% 33%,97% 70%,100% 32%,100% 100%,0 100%)}.ab-eyebrow{font:11px/1.5 var(--mono);letter-spacing:.12em;text-transform:uppercase}.ab-studio__head{position:relative;padding-bottom:70px;border-bottom:1px solid #1115}.ab-studio h2{font:550 clamp(46px,6.4vw,106px)/.98 var(--serif);letter-spacing:-.035em;word-spacing:.055em;font-variation-settings:"opsz" 100;margin-top:32px;max-width:900px}.ab-studio h2 em{font-weight:450}.ab-studio__head>.ab-hand{font-family:Caveat,cursive;font-weight:500;line-height:.98;position:absolute;right:3%;bottom:92px;font-size:30px;rotate:-10deg}.ab-studio__body{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding-top:66px;align-items:start}.ab-bio{display:grid;gap:24px;max-width:510px;font:15px/1.75 var(--mono)}.ab-bio .ab-bio__lead{font:400 clamp(25px,2.4vw,36px)/1.22 var(--serif);letter-spacing:-.025em}.ab-text-link{font:11px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid currentColor;padding:8px 0;width:fit-content;margin-top:8px}.ab-text-link span{margin-left:24px}.ab-text-link:hover{color:var(--red)}.ab-index ol{padding:0;margin:20px 0 0;list-style:none}.ab-index li{border-top:1px solid #1114}.ab-index li:last-child{border-bottom:1px solid #1114}.ab-index li a{display:grid;grid-template-columns:32px 1fr 35px 18px;align-items:baseline;gap:12px;padding:11px 0;transition:color .3s,translate .4s var(--ease)}.ab-index li a>span:nth-child(2){font:500 clamp(21px,2.1vw,33px)/1.1 var(--serif);text-transform:capitalize;letter-spacing:-.04em}.ab-index__number,.ab-index small{font:11px var(--mono)}.ab-index b{font-weight:400}.ab-index li a:hover{color:var(--red);translate:6px 0}.ab-footer{margin:0 7%;padding:58px 0 35px;border-top:1px solid #1115}.ab-email{display:block;position:relative;font:550 clamp(54px,8.7vw,145px)/.96 var(--serif);letter-spacing:-.06em;margin:35px 0 60px;max-width:1080px}.ab-email em{color:var(--red);font-weight:450}.ab-email>span{position:absolute;right:0;bottom:0;font:200 clamp(70px,13vw,190px)/1 Helvetica;transition:transform .5s var(--ease)}.ab-email:hover>span{transform:translate(10px,-10px)}.ab-footer__details{display:flex;justify-content:space-between;gap:24px;padding-top:22px;border-top:1px solid #1114;font:11px/1.6 var(--mono)}.ab-footer__details>div{display:flex;gap:28px}.ab-footer__details a:hover{color:var(--red)}
@media(max-width:700px){.ab-nav{position:relative;height:62px;display:flex;justify-content:space-between;align-items:center;padding:0 6%;font-size:12px}.ab-logo{position:static;width:27px;height:30px}.ab-nav nav{position:static;display:flex;gap:16px;font-size:12px}.ab-nav nav a:nth-child(1),.ab-nav nav a:nth-child(3){display:none}.ab-contact{position:static;width:84px;height:32px;font-size:10px;gap:8px}.ab-contact span{font-size:16px}.ab-hero{overflow:visible;margin-bottom:43px}.ab-hero-tools{top:100%;bottom:auto;left:0;right:0;height:43px;justify-content:center;gap:25px;background:var(--paper);border-bottom:1px solid #1113}.ab-motion,.ab-scroll{font-size:9px}.ab-film__controls{display:none}.ab-studio{padding:58px 6% 68px}.ab-studio__head{padding-bottom:35px}.ab-studio__head>.ab-hand{position:static;margin-top:28px;rotate:-4deg;font-size:26px;width:fit-content}.ab-studio__body{grid-template-columns:1fr;gap:50px;padding-top:38px}.ab-studio h2{font-size:clamp(40px,7.8vw,76px)}.ab-bio{font-size:13px}.ab-bio .ab-bio__lead{font-size:27px}.ab-index li a{padding:14px 0}.ab-index li a>span:nth-child(2){font-size:29px}.ab-footer{margin:0 6%;padding-top:38px}.ab-footer__details{flex-wrap:wrap;font-size:11px}.ab-email{font-size:clamp(53px,10vw,95px);margin-bottom:35px}.ab-email>span{font-size:74px}.ab-footer__details>p{width:100%}}
@media(min-width:701px) and (max-width:1000px){.ab-studio__head>.ab-hand{position:static;margin-top:35px;rotate:-4deg;width:max-content}.ab-hero-tools{bottom:7px;gap:16px}.ab-motion,.ab-scroll{font-size:8px}}
/* Motion is progressive enhancement: all content is visible before JS. */
@media(prefers-reduced-motion:no-preference){.about.is-ready .ab-layer{animation:ab-land 1.25s calc(var(--order)*75ms) both var(--ease)}.about.is-ready .ab-letter-o .ab-layer{animation:ab-ink 1.4s both var(--ease)}.about.is-ready .ab-pen path{stroke-dasharray:1;animation:ab-draw 1.3s 1s both ease}.about.is-ready .ab-drawing .ab-layer{animation-name:ab-paper-land;animation-duration:1.6s}.about.is-ready .ab-film__frame.is-new{animation:ab-film-reveal .6s var(--ease)}.about.is-ready [data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform 1s var(--ease)}.about.is-ready [data-reveal].is-visible{opacity:1;transform:none}.about.is-ready .ab-scroll span{animation:ab-down 2.7s 2s infinite ease-in-out}}
.about.is-paused .ab-layer,.about.is-paused .ab-pen path{animation:none!important;opacity:1!important;transform:none!important;clip-path:none!important;stroke-dashoffset:0!important}.about.is-paused .ab-scroll span{animation-play-state:paused}.about.is-paused .ab-film__frame{animation:none!important}.about.is-paused [data-reveal]{opacity:1!important;transform:none!important;transition:none!important}.about.is-paused .ab-film__frame img,.about.is-paused .ab-artwork{transition:none;transform:none}
@keyframes ab-land{from{opacity:0;transform:translateY(45px) rotate(-3deg)}to{opacity:1;transform:none}}@keyframes ab-paper-land{from{opacity:0;transform:translate(15px,100px) rotate(10deg)}to{opacity:1;transform:none}}@keyframes ab-ink{from{opacity:0;clip-path:inset(0 0 100% 0);transform:translateY(-25px)}to{opacity:1;clip-path:inset(0);transform:none}}@keyframes ab-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes ab-film-reveal{from{opacity:.15;transform:translateY(4%)}to{opacity:1;transform:none}}@keyframes ab-down{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}
@media(prefers-reduced-motion:reduce){html:has(.about-page){scroll-behavior:auto}.about *,.about *::before,.about *::after{animation:none!important;transition:none!important}.ab-piece{translate:none!important}.ab-artwork:hover,.ab-artwork:focus-visible,.ab-film__frame:hover img,.ab-film__frame:focus-visible img{transform:none}.about [data-reveal]{opacity:1;transform:none}}

/* Search sits in the nav as a word; it opens into a line when you use it. An empty Enter goes home. */
.ab-search{position:absolute;left:calc(532 * var(--unit));top:calc(36 * var(--unit))}
.about-page .ab-search .bar{position:relative;display:flex;align-items:center;width:4.2em;height:auto;max-width:none;margin:0;padding:4px 0 3px;background:none;border:0;border-bottom:1px solid transparent;box-shadow:none;outline:0;transition:width .6s var(--ease),border-color .4s}
.about-page .ab-search .bar:focus-within{width:calc(230 * var(--unit));min-width:150px;border-bottom-color:var(--ink)}
.about-page .ab-search .bar__prompt,.about-page .ab-search .bar__go{display:none}
.about-page .ab-search .bar__input{flex:1;min-width:0;min-height:0;padding:0;background:none;color:var(--ink);font:inherit;letter-spacing:0;text-transform:none;cursor:pointer}
.about-page .ab-search .bar__input:focus{cursor:text;outline:0}
.about-page .ab-search .bar__input::placeholder{color:var(--ink);opacity:1;transition:opacity .3s}
.about-page .ab-search .bar__input:focus::placeholder{opacity:.35}
.about-page .ab-search .suggest{top:calc(100% + 10px);left:0;right:auto;width:max(100%,280px);background:var(--paper);color:var(--ink);border:1px solid var(--ink);font:12px/1.3 var(--mono);letter-spacing:.04em}
.about-page .ab-search .suggest__row{padding:10px 12px}
.about-page .ab-search .suggest__row[aria-selected="true"]{background:var(--ink);color:var(--paper)}
.about-page .ab-search .suggest__row[aria-selected="true"] .suggest__kind{color:var(--paper)}
@media(max-width:700px){.ab-search{position:static}.about-page .ab-search .bar:focus-within{width:34vw;min-width:0}.about-page .ab-search .bar__input{font-size:16px;transform:scale(.75);transform-origin:0 50%}}
