/* Deep-blue art direction. The decorative layer is isolated from content. */
:root{--ink:#f3f6fd;--muted:#becbe0;--line:#ffffff24;--orange-dark:#ffad70;--paper:#102c55}
html{background:#0b2144;color-scheme:dark}
body{background:transparent;isolation:isolate}
.page-atmosphere{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at 85% 12%,#265aa3a6,transparent 58%),radial-gradient(ellipse at 4% 82%,#1f4b87aa,transparent 55%),linear-gradient(132deg,#071a38 4%,#133668 56%,#091c3b 100%)}
.atmosphere-glow{position:absolute;width:95vw;height:95vw;top:5%;right:-42%;border-radius:50%;background:radial-gradient(circle,#3972b929,transparent 65%);animation:depth-drift 24s ease-in-out infinite alternate}
.atmosphere-grid{position:absolute;inset:0;background-image:linear-gradient(#a9caff06 1px,transparent 1px),linear-gradient(90deg,#a9caff06 1px,transparent 1px);background-size:88px 88px;mask-image:linear-gradient(140deg,transparent 10%,black 65%)}
.atmosphere-lines{position:absolute;inset:-14%;width:128%;height:128%;fill:none;stroke:url(#orange-flow);stroke-width:5;stroke-linecap:round;stroke-linejoin:round;opacity:.38}
.atmosphere-lines .line-flow{animation:line-flow 10s ease-in-out infinite alternate;transform-origin:center;will-change:transform}
.atmosphere-lines .line-secondary{animation-duration:13s;animation-delay:-6s;animation-direction:alternate-reverse;opacity:.7}
.atmosphere-lines .line-orbit{animation-name:line-orbit;animation-duration:15s;animation-delay:-4s;opacity:.68}
.atmosphere-lines .line-sweep{animation-duration:8s;animation-delay:-3s;opacity:.85}
.atmosphere-lines .line-bold{stroke-width:10}.atmosphere-lines .line-fine{stroke-width:3}
.atmosphere-lines .line-halo{stroke-width:34;opacity:.12}
.atmosphere-lines .line-dash{stroke-width:8;stroke-dasharray:180 46 22 46;animation:trace-travel 12s linear infinite}
@keyframes trace-travel{to{stroke-dashoffset:-588}}
@keyframes line-flow{from{transform:translate3d(-65px,65px,0) rotate(-6deg)}to{transform:translate3d(80px,-70px,0) rotate(7deg)}}
@keyframes line-orbit{from{transform:translate3d(60px,35px,0) rotate(8deg) scale(1)}to{transform:translate3d(-65px,-55px,0) rotate(-7deg) scale(1.06)}}
@keyframes depth-drift{from{transform:translate3d(0,-3%,0);opacity:.6}to{transform:translate3d(-6%,4%,0);opacity:1}}
.site-header{background:#091e40ed;backdrop-filter:blur(18px);box-shadow:0 6px 30px #020a1e30;border-bottom:1px solid #ffffff0a}
/* The logo carries its own transparency, including on mobile compositors. */
.brand-logo,.hero-brand{background:transparent}
.brand-logo img,.hero-brand img{position:static;width:100%;height:100%;max-width:100%;object-fit:contain;filter:none;mix-blend-mode:normal}
.brand-location{color:#d5e0f2}.brand-location span,.header-contact span{color:#b9c9e1}
.header-contact strong{color:#fff}.header-contact .icon{color:#ffad70}
.navigation{border-color:#ffffff15;background:transparent}.nav-inner a{color:#e6edf8}.nav-inner a.active{color:#ffad70}
.menu-toggle{border-color:#ffffff36;background:#ffffff05}.menu-toggle span{background:#f3f6fd}
.hero{background:transparent}.hero-services{color:#c4d1e5}.hero-subtitle{color:#dbe5f6}.hero h1>span:first-of-type{color:var(--orange)}
.hero-problem{border-color:#b9d3ff2b}.hero-problem>p{color:#fff}
.hero-image{box-shadow:0 30px 70px #030b2080;border:1px solid #ffffff26}
.hero-image img{transform:scale(1.1)}
.hero-outline{border-color:#f47c258c}.experience-stamp{border-color:#123260;color:#102449}
.hero-image-caption{background:#0b2249f5;border:1px solid #ffffff26;box-shadow:0 15px 35px #0005;color:#fff}
.hero-image-caption .icon{color:var(--orange)}.hero-visual .image-note{color:#c6d3e8}
.discipline-strip{background:#071d3ce6;border-top:1px solid #ffffff18;border-bottom:1px solid #ffffff18}
.marquee-toggle{background:#132f58;border-color:#ffffff50}
.services{background:linear-gradient(180deg,#071c3833,#071c38aa);border-bottom:1px solid #ffffff12}
.services .section-heading>.eyebrow,.section .eyebrow{color:#e0e9f7}
.section-heading>p,.portfolio-intro>p{color:#becbe0}
.service-card.photo-service{border:1px solid #ffffff2a;box-shadow:0 16px 35px #030d2738}
.photo-service:hover,.photo-service:focus-visible{border-color:#f47c2599;box-shadow:0 18px 45px #0005}
.service-photo-note{color:#b8c9e0}.service-photo-note a{color:#dce6f5}
.about{background:linear-gradient(115deg,#183d6b80,#071a3722);border-bottom:1px solid #ffffff12}
.about-copy{background:transparent}.about-copy .lead{color:#ebf0f9}.about-copy>p:not(.eyebrow):not(.lead){color:#becbe0}
.years-number,.years-number span{color:#fff}.years-place{color:#bacbe1}.values{border-color:#ffffff24}.values .icon{color:#ffad70}
.portfolio{background:linear-gradient(180deg,transparent,#071a374a)}
.reference-note,.reference-count,.project-label small,.project-label .project-source-label{color:#bfcee3}
.reference-count strong{color:#ffac70}.filters .filter{background:#15335c;box-shadow:0 7px 20px #05152b26;border-color:#ffffff1f;color:#eaf0fa}
.filters .filter.active{background:var(--orange);border-color:var(--orange);color:#102449}
.filters .filter:hover{background:#ffab6b;color:#102449;box-shadow:0 8px 24px #02091d55;border-color:#ffab6b}
.project-thumb{border:1px solid #ffffff20;box-shadow:0 10px 30px #020a2033}.project-label strong{color:#f5f7fd}
.portfolio-bottom{border-color:#ffffff26}.reasons{background:linear-gradient(130deg,#0a224ad9,#1f3f7a99);border-block:1px solid #ffffff15}
.reason-grid p{color:#c7d5e9}.idea-cta{background:linear-gradient(108deg,#071b3cf5 10%,#214a83c9 65%,#974e34aa 100%)}
.contact{background:linear-gradient(180deg,#0a224425,#071a38cc)}
.contact-list strong{color:#fff}.contact-list>a>span,.contact-lead{color:#c3d0e4}.contact-list .icon{color:#ffad70}
.contact-form{background:linear-gradient(135deg,#21436d70,#0c2145c9);border:1px solid #ffffff26;box-shadow:0 24px 60px #030d2533}
.contact-form>p{color:#bdcce1}.contact-form input,.contact-form select,.contact-form textarea{background:#091e3ee6;color:#fff;border-color:#6e89ad}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#b5c5dd}.contact-form option{background:#10294b}
.contact-form .button{background:var(--orange);color:#102449}.contact-form .button:hover{background:#ffab6b}
.map-panel{background:#193b6680;border:1px solid #ffffff20;border-left:3px solid var(--orange)}.map-panel span{color:#becde2}
.button-outline{color:#f3f6fc;border-color:#9bb3d4}.button-outline:hover{background:#ffffff12}
footer{background:#06172feb;border-top:1px solid #ffffff18}
dialog{background:#10294d;color:#f4f7ff;border:1px solid #6b85a6}
.dialog-close{background:#0a1f40;color:#fff;border-color:#647fa4}.dialog-copy>p:not(.eyebrow),.privacy-dialog>p:not(.eyebrow){color:#c4d2e7}
.dialog-copy>.reference-note{background:#19395e}.dialog-copy .button{background:var(--orange);color:#102449}.project-dialog .dialog-image{background:#091c37}
.privacy-dialog a{color:#ffad70}
.motion-controls{display:flex;align-items:center;gap:8px}
.footer-bottom .background-motion-toggle{border:1px solid #ffffff35;border-radius:4px;padding:8px 11px;min-height:40px;color:#dce6f5}
.footer-bottom .background-motion-toggle:hover{color:#102449;background:#ffab6b}
.background-paused .page-atmosphere *{animation-play-state:paused!important}
@media(max-width:800px){.navigation{background:#0b2349f7}.atmosphere-lines{opacity:.3}.atmosphere-grid{background-size:60px 60px}.site-header{backdrop-filter:blur(12px)}}
@media(prefers-reduced-motion:reduce){.page-atmosphere *{animation:none!important}.line-flow{will-change:auto!important}.background-motion-toggle{display:none}}
@media print{html,body{background:#fff;color:#152d56}.page-atmosphere,.background-motion-toggle{display:none}.section,.about-copy{background:#fff}.section *{color:#152d56!important}.brand-logo img,.hero-brand img{filter:brightness(0);mix-blend-mode:normal}}

/* Services with the supplied project photography. */
.service-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.service-card.photo-service,.service-card.service-text-card{aspect-ratio:auto;min-height:350px}
.service-card.service-text-card{position:relative;padding:0;color:#fff;background:linear-gradient(130deg,#28548b85,#0b224ae8);border:1px solid #ffffff2a;overflow:hidden;border-radius:5px;box-shadow:0 16px 35px #030d2738}
.service-text-card::before{content:'';position:absolute;width:230px;height:230px;border:1px solid #f47c2540;border-radius:50%;right:-100px;top:-115px;box-shadow:0 0 0 17px #f47c2507,0 0 0 35px #f47c2505;pointer-events:none}
.service-text-card .service-number{position:absolute;top:22px;left:24px;font-size:12px;color:#ffad70;font-weight:700;letter-spacing:2px}
.service-text-card .service-content{padding:24px;margin-top:auto}
.service-text-card h3{font-size:23px;line-height:1.2;margin-bottom:10px;color:#fff}
.service-text-card .service-content>p{font-size:14px;line-height:1.5;color:#fff}
.service-text-card:hover{background:linear-gradient(130deg,#315d9485,#102b56e8);border-color:#f47c2599;transform:translateY(-5px)}
.service-text-card .service-consult{opacity:1;transform:none}
.filters{grid-template-columns:repeat(5,minmax(0,1fr))}.filter-text{justify-content:center;padding:20px 12px}.filter-text>span{font-size:12px;max-width:150px}
.gallery-empty{border:1px solid #ffffff25;border-radius:5px;padding:36px;background:#102b507a;max-width:760px}.gallery-empty[hidden]{display:none}.gallery-empty h3{font-size:24px;margin-bottom:10px}.gallery-empty p{color:#becbe0;margin-bottom:22px;font-size:15px}.gallery-empty .button{font-size:13px}
@media(max-width:1150px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filters{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.service-grid{grid-template-columns:1fr}.service-card.photo-service,.service-card.service-text-card{min-height:320px}.service-text-card .service-content{padding:26px}.service-text-card h3{font-size:28px}.filters{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-text>span{font-size:12px}.gallery-empty{padding:25px}.gallery-empty h3{font-size:22px}}

/* Motion follows the visitor's scroll; the content remains still and readable. */
.section{position:relative;isolation:isolate;overflow:clip}
.section>.container{position:relative;z-index:1}
.scroll-detail{position:absolute;z-index:0;right:-35px;top:28px;width:240px;height:240px;pointer-events:none;color:#f47c25;opacity:.22;will-change:transform}
.scroll-detail svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.2}
.about .scroll-detail{right:7%;top:46%;width:280px;height:280px;opacity:.14}
.portfolio .scroll-detail{right:5%;top:95px;width:150px;height:150px;opacity:.28}
.reasons .scroll-detail{right:-70px;top:30%;width:310px;height:310px}
.contact .scroll-detail{right:auto;left:-60px;top:55%;opacity:.16}
.reading-progress{position:absolute;bottom:-1px;left:0;width:100%;height:2px;background:linear-gradient(90deg,#f47c25,#ffb47b);transform:scaleX(0);transform-origin:left;z-index:3;pointer-events:none}
.background-paused .marquee-track{animation-play-state:paused!important}
.background-paused .scroll-detail{will-change:auto}
.service-consult{opacity:1;transform:none}
.service-card.service-text-card{display:flex;flex-direction:column}
.video-badge{position:absolute;top:12px;left:12px;padding:6px 10px;background:#0a1d3be8;color:#fff;border:1px solid #ffffff48;border-radius:30px;font-size:10px;letter-spacing:.4px;z-index:1}
.project-thumb{position:relative}
.project-dialog .dialog-image video{display:block;width:100%;height:auto;max-height:80dvh;object-fit:contain}
.process-showcase{margin-top:85px;padding-top:55px;border-top:1px solid #ffffff24}
.process-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:28px}
.process-heading h3{font-family:Montserrat,Arial,sans-serif;font-size:clamp(27px,3vw,40px);letter-spacing:-1.3px;line-height:1.15}
.process-heading>p{color:#becbe0;font-size:14px;line-height:1.7}
.process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.process-media{position:relative;aspect-ratio:4/5;border-radius:5px;overflow:hidden;background:#071b36;border:1px solid #ffffff30}
.process-media::after{content:'';position:absolute;inset:60% 0 0;pointer-events:none;background:linear-gradient(transparent,#06172f88)}
.process-media video{width:100%;height:100%;object-fit:cover;display:block}
.clip-toggle{position:absolute;left:16px;bottom:16px;z-index:2;border:1px solid #ffffff70;border-radius:30px;background:#071b3be8;color:white;padding:10px 16px;min-height:44px;font-size:12px;display:flex;gap:18px;align-items:center;cursor:pointer}
.clip-toggle:hover{background:#f47c25;color:#102449;border-color:#f47c25}
.clip-duration{position:absolute;right:15px;top:15px;color:#fff;background:#071b3bcf;padding:6px 9px;border-radius:4px;font-size:11px;z-index:1}
.process-card>p{color:#ffad70;font-size:10px;letter-spacing:1.3px;margin:20px 0 9px;font-weight:600}
.process-card h4{font-size:18px;line-height:1.45;letter-spacing:-.3px;max-width:290px}
@media(max-width:800px){.scroll-detail{width:150px;height:150px;right:-40px;opacity:.16}.about .scroll-detail{right:-90px}.portfolio .scroll-detail{top:45px;right:-25px}.process-grid{gap:14px}.process-heading{align-items:flex-start;flex-direction:column;gap:15px}.process-heading>p br{display:none}.clip-toggle{left:8px;bottom:8px;padding:8px 11px;gap:8px}.process-card h4{font-size:15px}.project-dialog .dialog-image video{max-height:52dvh}}
@media(max-width:600px){.process-showcase{margin-top:55px;padding-top:35px}.process-grid{grid-template-columns:1fr;gap:32px}.process-media{aspect-ratio:4/5;max-height:540px}.process-card>p{margin-top:15px}.process-card h4{font-size:18px;max-width:none}.clip-toggle{left:15px;bottom:15px;padding:10px 16px;gap:20px}.video-badge{top:8px;left:8px;padding:5px 8px;font-size:9px}.background-motion-toggle{white-space:nowrap}}
@media(prefers-reduced-motion:reduce){.scroll-detail{transform:none!important;will-change:auto}.reading-progress{display:none}}

/* Plain category selectors; photography stays in the gallery. */
.filters{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.filters .filter{min-height:76px;padding:18px 14px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:650;line-height:1.4;letter-spacing:0;text-align:center}
/* A modest display correction keeps the clips' colors closer to the photos. */
.process-media video,.project-dialog .dialog-image video{filter:saturate(.8)}
/* Seven offerings: four cards followed by three on wide screens. */
.service-grid{grid-template-columns:repeat(12,minmax(0,1fr))}
.service-card{grid-column:span 3}.service-card:nth-child(n+5){grid-column:span 4}
.illuminated-service>img{object-position:52% 38%}
@media(max-width:1150px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card,.service-card:nth-child(n+5){grid-column:span 1}.service-card:last-child{grid-column:1/-1}.filters{grid-template-columns:repeat(5,minmax(0,1fr))}.filters .filter{font-size:12px;padding:14px 10px}}
@media(max-width:800px){.filters{grid-template-columns:repeat(2,minmax(0,1fr))}.filters .filter{min-height:68px}}
@media(max-width:600px){.service-grid{grid-template-columns:1fr}.service-card,.service-card:nth-child(n+5),.service-card:last-child{grid-column:auto}.filters .filter{font-size:12px;padding:14px 10px}}

/* Dimensional category buttons with a light sweep on interaction. */
.gallery-toolbar{justify-content:flex-end;margin-bottom:22px}
.filters{gap:12px}
.filters .filter{position:relative;isolation:isolate;overflow:hidden;min-height:84px;padding:20px 15px 24px;border:1px solid #84aee77a;border-radius:10px;background:linear-gradient(140deg,#35649c,#173c6a 58%,#102b50);color:#f7faff;font-size:13px;font-weight:700;box-shadow:inset 0 1px 0 #ffffff26,0 6px 0 #06182f88,0 12px 24px #020b202e;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease,background .25s ease,color .25s ease;cursor:pointer}
.filters .filter::before{content:'';position:absolute;inset:-40% -15%;z-index:-1;pointer-events:none;background:linear-gradient(110deg,transparent 32%,#ffffff2e 50%,transparent 68%);transform:translateX(-120%) skewX(-12deg);transition:transform .65s ease}
.filters .filter::after{content:'';position:absolute;bottom:10px;left:50%;width:28px;height:3px;border-radius:3px;background:#f79245;box-shadow:0 0 12px #f47c254d;transform:translateX(-50%);transition:width .3s ease,background .25s ease}
.filters .filter.active{background:linear-gradient(135deg,#ffbb76,#f79238 52%,#f47c25);color:#0a2346;border-color:#ffc18a;box-shadow:inset 0 1px 0 #ffe4c8,0 5px 0 #a64c1f,0 10px 25px #f47c2536;transform:translateY(-2px)}
.filters .filter.active::after{width:52%;background:#17365b;box-shadow:none}
.filters .filter:focus-visible{outline:2px solid #fff;outline-offset:4px;transform:translateY(-4px);border-color:#ffc18a}
.filters .filter:focus-visible::before{transform:translateX(120%) skewX(-12deg)}
@media(hover:hover){.filters .filter:hover{background:linear-gradient(135deg,#416fa7,#1e467a);color:#fff;border-color:#ffad70;transform:translateY(-5px);box-shadow:inset 0 1px 0 #ffffff33,0 7px 0 #06182f88,0 16px 30px #020b204d}.filters .filter:hover::before{transform:translateX(120%) skewX(-12deg)}.filters .filter:hover::after{width:58%}.filters .filter.active:hover{background:linear-gradient(135deg,#ffcb93,#ffa451 55%,#f88a34);color:#0a2346;box-shadow:inset 0 1px 0 #fff0dd,0 7px 0 #a64c1f,0 16px 30px #f47c253d}}
.filters .filter:active{transform:translateY(2px) scale(.98);box-shadow:inset 0 1px 0 #ffffff22,0 2px 0 #06182f88,0 4px 10px #020b2033}
@media(max-width:800px){.filters{gap:12px 10px}.filters .filter{min-height:78px;font-size:12px;padding:16px 12px 23px}.gallery-toolbar{justify-content:flex-start}}
@media(prefers-reduced-motion:reduce){.filters .filter,.filters .filter:hover,.filters .filter.active,.filters .filter:active,.filters .filter:focus-visible{transform:none}.filters .filter::before{display:none}}

/* A browsable photo and video book for the outdoor event project. */
.project-dialog.has-book{width:1120px;max-width:calc(100% - 32px);max-height:92dvh}
.project-dialog.has-book[open]{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr)}
.project-dialog.has-book .dialog-close{position:sticky;top:12px;right:auto;grid-column:1/-1;justify-self:end;margin:12px 12px -52px auto}
.project-dialog.has-book .dialog-copy{padding:54px 30px 38px;min-width:0}
.project-dialog .dialog-image.book-viewer{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;min-width:0;min-height:0;align-self:stretch;background:#071b36;padding:16px}
.book-tools{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}
.book-kind{font-size:10px;letter-spacing:1.4px;color:#c6d5eb;font-weight:700}
.book-expand{min-height:40px;border:1px solid #7795bc66;border-radius:5px;padding:8px 12px;color:#fff;background:#15345c;font:600 12px var(--body);cursor:pointer}
.book-stage{height:min(58dvh,560px);min-height:220px;display:grid;place-items:center;overflow:hidden;border-radius:3px;background:#051329;touch-action:pan-y pinch-zoom}
.project-dialog .book-stage img,.project-dialog .book-stage video{display:block;width:100%;height:100%;max-height:100%;min-height:0;object-fit:contain}
.book-controls{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:12px;padding:14px 0}
.book-arrow{display:grid;place-items:center;width:44px;height:44px;border:1px solid #7598c078;border-radius:50%;background:#17365e;color:#fff;font-size:22px;cursor:pointer;transition:background .2s,border-color .2s}
.book-arrow:hover,.book-expand:hover{background:#244f81;border-color:#f47c25}
.book-caption{text-align:center;min-width:0}.book-position{font-size:10px;font-weight:700;letter-spacing:2px;color:#ffb477}.book-caption p{font-size:12px;line-height:1.5;color:#dae6f6;margin:4px 0 0}
.book-thumbnails{position:relative;display:flex;align-items:center;gap:8px;overflow-x:auto;padding:3px 2px 9px;scrollbar-width:thin;scrollbar-color:#f47c25 #15345c;overscroll-behavior-x:contain}
.book-thumbnail{position:relative;flex:0 0 64px;width:64px;height:68px;padding:3px;border:2px solid transparent;border-radius:5px;background:#17365e;cursor:pointer;opacity:.65;transition:opacity .2s,border-color .2s}
.project-dialog .book-thumbnail img{width:100%;height:100%;object-fit:cover;border-radius:2px}.book-thumbnail.selected{border-color:#f47c25;opacity:1}.book-thumbnail:hover{opacity:1}.book-thumbnail>span{position:absolute;inset:0;display:grid;place-items:center;color:#fff;text-shadow:0 1px 8px #000;font-size:21px;background:#06152b45}
.book-thumbnail:focus-visible,.book-arrow:focus-visible,.book-expand:focus-visible{outline:3px solid #ffb477;outline-offset:3px}
.project-dialog.has-book.book-expanded{width:1480px}.project-dialog.has-book.book-expanded[open]{grid-template-columns:minmax(0,1fr)}.book-expanded .dialog-copy{display:none}.book-expanded .dialog-close{top:15px;right:18px}.book-expanded .book-tools{padding-right:52px}.book-expanded .book-stage{height:calc(90dvh - 224px)}.book-expanded .book-thumbnails{justify-content:safe center}
@media(max-width:800px){.project-dialog.has-book{width:620px}.project-dialog.has-book[open]{display:block}.project-dialog.has-book .dialog-copy{padding:24px}.book-tools{padding-right:46px}.book-stage{height:min(52dvh,500px)}.book-expanded .book-stage{height:calc(90dvh - 224px)}.project-dialog.has-book .dialog-copy h2{font-size:25px;margin-top:8px}.project-dialog.has-book .dialog-copy .button{margin-top:18px}}
@media(max-width:480px){.project-dialog.has-book{max-width:calc(100% - 20px);max-height:92dvh}.project-dialog .dialog-image.book-viewer{padding:12px}.book-tools{gap:8px}.book-kind{font-size:8px;letter-spacing:1px}.book-expand{padding:7px 9px;font-size:11px}.book-stage{height:43dvh;min-height:180px}.book-controls{gap:8px;padding:12px 0}.book-caption p{font-size:11px}.book-thumbnail{flex-basis:56px;width:56px;height:60px}.project-dialog.has-book .dialog-copy{padding:20px}.book-expanded .book-stage{height:calc(90dvh - 216px)}}
@media(prefers-reduced-motion:reduce){.book-arrow,.book-thumbnail{transition:none}}
