/* A visual chapter change: photographic work gives way to a dark web gallery. */
section.web-work{background:#171717;color:#f3f3f3;padding-top:100px;padding-bottom:95px;border-top:12px solid #d7d7d7}
.web-work .section-heading{max-width:1000px;padding-bottom:30px}.web-work .section-heading h2{font-size:clamp(38px,5.4vw,80px);font-weight:400;letter-spacing:-.055em}.web-work .section-heading>p,.web-work .web-caption p,.web-work .hospitality-projects article p{color:#bbb}.web-work .web-caption h3,.web-work .quiet-link{color:#f5f5f5}.web-work .web-screen{border-color:#444}.web-work .site-history{background:#222;color:#eee;border-color:#555}.web-work .site-history p,.web-work .site-history figcaption,.web-work .project-credit{color:#aaa}.web-work .hospitality-projects{border-color:#555}.web-work .private-project{background:#292929;border:1px solid #555}.web-work .eyebrow{color:#bcbcbc}
section.development-feature{padding:100px 5%;background:#080808;color:#eee;overflow:hidden}.development-heading{display:grid;grid-template-columns:1fr 1fr;gap:24px 9vw;align-items:end}.development-heading .eyebrow{grid-column:1/-1;color:#aaa;margin:0}.development-heading h2{font-size:clamp(48px,7vw,110px);font-weight:400;line-height:.98;letter-spacing:-.065em;margin:0}.development-heading>div p{font-size:14px;line-height:1.9;color:#aaa;max-width:510px}.development-studio{margin-top:55px;border:1px solid #414141;border-radius:12px;background:#171717;overflow:hidden;box-shadow:0 32px 100px #0008}.studio-top{display:flex;justify-content:space-between;gap:20px;padding:22px 28px;border-bottom:1px solid #444;font-size:10px;letter-spacing:.1em;color:#aaa}.code-canvas{position:relative;max-height:580px;overflow:hidden;background:#111}.code-canvas img{display:block;width:100%;height:auto;min-height:300px;object-fit:cover;object-position:top;opacity:.9}.code-scan{position:absolute;left:0;right:0;top:0;height:22%;background:linear-gradient(transparent,#ffffff0c,transparent);border-bottom:1px solid #ffffff20;pointer-events:none;animation:codeSweep 9s linear infinite;animation-play-state:paused}.is-inview .code-scan{animation-play-state:running}@keyframes codeSweep{from{transform:translateY(-100%)}to{transform:translateY(550%)}}
.logic-path{display:grid;grid-template-columns:1fr 55px 1fr 55px 1fr;align-items:center;padding:35px 30px;background:#1d1d1d;gap:14px}.logic-path div{min-width:0}.logic-path span{font-size:9px;letter-spacing:.12em;color:#999}.logic-path strong{display:block;font-size:clamp(16px,1.7vw,25px);font-weight:400;letter-spacing:-.03em;margin:14px 0}.logic-path small{color:#999;font-size:10px;line-height:1.7}.logic-path i{height:1px;background:#555;position:relative;overflow:visible}.logic-path i:after{content:'';position:absolute;top:-2px;left:0;width:5px;height:5px;background:#eee;border-radius:50%;animation:logicFlow 3s ease-in-out infinite;animation-play-state:paused}.is-inview .logic-path i:after{animation-play-state:running}.logic-path i:nth-of-type(2):after{animation-delay:1.5s}@keyframes logicFlow{0%{transform:translateX(0);opacity:0}25%{opacity:1}100%{transform:translateX(55px);opacity:0}}
.inline-source{border-top:1px solid #444}.inline-source summary{padding:22px 28px;font-size:12px;cursor:pointer;display:flex;justify-content:space-between;list-style:none}.inline-source summary::-webkit-details-marker{display:none}.inline-source summary:focus-visible{outline:2px solid white;outline-offset:-6px}.inline-source[open] summary span{transform:rotate(45deg)}.inline-source img{display:block;width:100%;height:auto}.development-note{font-size:10px;color:#888;margin:20px 0 0}
section.archive-feature{background:#e8e8e8;color:#171717;padding:100px 5%;overflow:hidden}.archive-heading{display:grid;grid-template-columns:1.3fr 1fr;gap:20px 6vw;align-items:end}.archive-heading .eyebrow{grid-column:1/-1;margin:0}.archive-heading h2{font-size:clamp(37px,4.7vw,72px);line-height:1.04;letter-spacing:-.055em;font-weight:400;margin:0}.archive-heading>p:last-child{font-size:14px;line-height:1.9;color:#555;margin:0;max-width:520px}.archive-map{margin-top:55px;position:relative;--archive-progress:0}.archive-root{display:flex;justify-content:space-between;padding:20px 0;border-bottom:1px solid #aaa;font-size:11px;letter-spacing:.08em}.archive-root small{font-size:10px;letter-spacing:0;color:#666}.archive-lanes{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:35px}.archive-lanes article{padding:28px;min-width:0;background:#f4f4f4;position:relative;border:1px solid #ccc;border-radius:9px;outline-offset:5px;transition:background .3s,transform .35s;transform:translateY(calc((1 - var(--archive-progress))*var(--entry-offset,0px)))}.archive-lanes article:nth-child(2){--entry-offset:22px}.archive-lanes article:nth-child(3){--entry-offset:44px}.archive-number{display:block;font-size:64px;line-height:1;color:#c4c4c4;font-weight:300;letter-spacing:-.07em;margin-bottom:30px}.archive-lanes .eyebrow{font-size:9px;margin:0 0 13px}.archive-lanes h3{font-size:clamp(22px,2.1vw,32px);font-weight:400;letter-spacing:-.035em;margin:0}.archive-lanes article>p:not(.eyebrow){font-size:12px;line-height:1.9;color:#555;min-height:65px}.archive-lanes article>small{font-size:10px;color:#666;line-height:1.7;display:block}.file-stack{position:relative;height:153px;margin:35px 0 22px;perspective:600px}.file-stack span{position:absolute;left:0;right:0;top:0;height:75px;padding:17px 12px;background:#e0e0e0;border:1px solid #aaa;border-radius:5px;font-size:9px;letter-spacing:.045em;box-shadow:0 8px 16px #00000008;transition:transform .45s cubic-bezier(.2,.7,.2,1);transform:translateY(0) rotate(-3deg)}.file-stack span:nth-child(2){transform:translateY(30px) rotate(1deg);background:#d0d0d0}.file-stack span:nth-child(3){transform:translateY(60px) rotate(4deg);background:#242424;color:#eee;border-color:#555}.archive-lanes article:hover,.archive-lanes article:focus{background:#fff}.archive-lanes article:hover .file-stack span:first-child,.archive-lanes article:focus .file-stack span:first-child{transform:translateY(-10px) rotate(0)}.archive-lanes article:hover .file-stack span:nth-child(2),.archive-lanes article:focus .file-stack span:nth-child(2){transform:translateY(37px) rotate(0)}.archive-lanes article:hover .file-stack span:nth-child(3),.archive-lanes article:focus .file-stack span:nth-child(3){transform:translateY(84px) rotate(0)}.archive-track{height:1px;background:#bbb;margin:40px 0 15px;position:relative}.archive-track span{position:absolute;width:9px;height:9px;top:-4px;background:#333;border-radius:2px;left:0;animation:archiveTravel 10s cubic-bezier(.4,0,.2,1) infinite;animation-play-state:paused}.archive-track span:nth-child(2){animation-delay:1s}.archive-track span:nth-child(3){animation-delay:2s}.is-inview .archive-track span{animation-play-state:running}@keyframes archiveTravel{0%{left:0;opacity:0;transform:rotate(0)}10%{opacity:1}45%{left:48%;transform:rotate(90deg)}80%{opacity:1}100%{left:calc(100% - 9px);opacity:0;transform:rotate(180deg)}}.archive-footnote{font-size:11px;color:#666;line-height:2;margin-top:32px}
@media(max-width:850px){.development-heading,.archive-heading{grid-template-columns:1fr;gap:25px}.archive-lanes{gap:15px}.archive-lanes article{padding:19px}.file-stack span{font-size:7px;padding:14px 8px}.logic-path{grid-template-columns:1fr 25px 1fr 25px 1fr;padding:25px 18px;gap:8px}.logic-path strong{font-size:17px}.logic-path i:after{animation-name:shortFlow}@keyframes shortFlow{from{transform:translateX(0);opacity:0}40%{opacity:1}to{transform:translateX(25px);opacity:0}}}
@media(max-width:600px){section.development-feature,section.archive-feature{padding:60px 5%}.archive-lanes{grid-template-columns:1fr;gap:20px}.archive-lanes article{padding:25px;transform:none}.file-stack{max-width:350px}.file-stack span{font-size:10px}.archive-number{font-size:48px;margin-bottom:20px}.archive-lanes article>p:not(.eyebrow){min-height:0}.studio-top{padding:17px;font-size:8px}.studio-top span:last-child{max-width:125px;text-align:right}.logic-path{grid-template-columns:1fr;gap:20px}.logic-path i{width:40px;transform:rotate(90deg);margin:8px 0 8px 0}.logic-path strong{margin:8px 0}.code-canvas{height:300px}.code-canvas img{width:auto;height:100%;max-width:none}.archive-root{font-size:9px}.archive-root small{font-size:8px}.development-heading h2{font-size:57px}.archive-heading h2{font-size:38px}}
@media(prefers-reduced-motion:reduce){.code-scan,.logic-path i:after,.archive-track span{animation:none!important;display:none}.archive-lanes article,.file-stack span{transition:none!important}.archive-lanes article{transform:none!important}}

/* Strong chapter opening; compact, sharper operation illustrations. */
section.operations-intro#digital-operations{min-height:82svh;padding:110px 6%;display:flex;flex-direction:column;justify-content:center;background:#111;color:#f6f6f6;border-top:1px solid #444}
section.operations-intro#digital-operations .eyebrow{font-size:13px;letter-spacing:.2em;margin-bottom:40px;color:#bbb}
section.operations-intro#digital-operations h2{font-size:clamp(56px,7.7vw,128px);line-height:1.01;letter-spacing:-.06em;font-weight:400;max-width:1250px;margin:0 0 42px}
section.operations-intro#digital-operations>p:last-child{font-size:clamp(15px,1.2vw,19px);line-height:1.85;max-width:690px;margin:0;color:#aaa}
section.operation-section .operation-image{width:100%;max-width:640px;justify-self:center;margin-left:auto;margin-right:auto}
section.operation-commerce .operation-image,section.operation-social .operation-image{max-width:700px}
section.operation-systems .operation-image{max-width:640px}
section.operation-section .operation-image img{display:block;width:100%;height:auto}
@media(max-width:700px){section.operations-intro#digital-operations{min-height:70svh;padding:80px 6%}section.operations-intro#digital-operations h2{font-size:clamp(46px,10vw,70px);margin-bottom:30px}section.operations-intro#digital-operations .eyebrow{font-size:10px;margin-bottom:30px}section.operation-section .operation-image{max-width:560px}}
