/* Work and case studies: quiet, editorial pacing with native scrolling. */
.work-is-locked{display:none!important;}
.work-access{box-sizing:border-box;max-width:520px;margin:clamp(24px,8vh,90px) auto 10vh;padding:0 28px;color:#354a42;text-align:center;}
.work-access[hidden],.work-lock[hidden]{display:none;}
.work-access .work-access-note{margin:0 0 32px;font:400 14px/1.8 var(--body-font);color:#62756c;}
.work-access h1{font-family:var(--accent-font);font-weight:100;font-style:italic;font-size:clamp(34px,4vw,44px);line-height:1.2;letter-spacing:-.025em;margin:0 0 32px;color:#53656b;}
.work-access>p:not(.work-access-note){max-width:330px;margin:0 auto;font:400 14px/1.8 var(--body-font);color:#62756c;}
.work-access form{margin:32px auto 0;max-width:360px;}
.work-access label{display:block;text-align:left;font:400 12px/1.6 var(--body-font);margin-bottom:10px;color:#62756c;}
.work-access-fields{display:flex;flex-direction:column;align-items:center;gap:16px;}
.work-access input{box-sizing:border-box;width:100%;min-height:44px;border:1px solid #354a4238;border-radius:999px;padding:10px 18px;background:transparent;color:#354a42;font:400 16px/1.5 var(--body-font);}
.work-access input:autofill{box-shadow:0 0 0 1000px #f2f6f3 inset;-webkit-text-fill-color:#354a42;}
.work-access button,.work-lock{cursor:pointer;}
.work-access button:hover,.work-lock:hover{background:#354a4209;border-color:#354a4280;}
.work-access button:disabled{opacity:.65;cursor:wait;}
.work-access input:focus-visible{outline:2px solid #354a42;outline-offset:4px;}
.work-access input[aria-invalid]{border-color:#975148;}
#work-access-message{min-height:22px;font:400 12px/1.6 var(--body-font);color:#754e44;margin:12px 0 0;}
.work-access-back{display:inline-block;margin-top:16px;color:#62756c;font:400 12px/1.6 var(--body-font);text-decoration:none;}
.work-access-back:hover{text-decoration:underline;text-underline-offset:4px;}
.work-lock{position:absolute;right:clamp(24px,6vw,100px);top:18px;}
@media(max-width:540px){.work-access{margin-top:24px;}.work-lock{top:12px;right:20px;}}
@media(max-width:600px){#work-page>header:has(.work-lock:not([hidden])){justify-content:flex-start;}#work-page>header:has(.work-lock:not([hidden])) nav{gap:16px;}}
#work-page{overflow-x:clip;}
#work-page > header{z-index:10;}
#work-page main{padding:150px 0 70px;}
#gallery,.case-study{max-width:1440px;margin:auto;padding:0 clamp(24px,6vw,100px);}
.work-kicker,.chapter-label{font-size:10px;font-weight:400;letter-spacing:.18em;text-transform:uppercase;color:var(--g-label);}
.work-intro{padding:5vh 0 12vh;max-width:740px;}
.work-intro h1{font-size:clamp(36px,4.5vw,68px);font-weight:200;line-height:1.15;letter-spacing:-.03em;margin:30px 0;}
.work-intro h1 em,.project-heading h2,.case-hero h1,.chapter-body h2,.case-next>a:first-of-type,.work-outro{font-family:var(--accent-font);font-weight:100;font-style:italic;}
.work-intro>p:last-child{font-size:18px;color:#657076;font-weight:300;}
.project-preview{min-height:78vh;display:grid;grid-template-columns:1fr 1.7fr;gap:5%;align-items:center;padding:8vh 0 16vh;}
.project-preview:nth-of-type(even){grid-template-columns:1.7fr 1fr;}
.project-preview:nth-of-type(even) .project-heading{grid-column:2;grid-row:1;}
.project-preview:nth-of-type(even) .project-art{grid-column:1;grid-row:1;}
.project-heading a{color:inherit;text-decoration:none;}
.project-heading h2{font-size:clamp(36px,4.2vw,64px);line-height:1.05;margin:22px 0;}
.project-heading p{font-size:17px;max-width:24em;color:#657076;font-weight:300;}
.text-link{display:inline-block;color:inherit;font-size:12px;letter-spacing:.04em;text-underline-offset:6px;margin-top:24px;}
.text-link:hover{color:#738b90;}
.project-year{display:block;margin-top:40px;font-size:11px;color:var(--g-label);}
.project-art{display:block;padding:60px 10px;text-decoration:none;}
.device-stage{position:relative;width:100%;aspect-ratio:1.65;isolation:isolate;}
.device-stage:before{content:'';position:absolute;inset:-12%;z-index:-1;background:radial-gradient(ellipse,rgba(174,197,196,.26),transparent 68%);filter:blur(20px);}
.device-stage img{display:block;object-fit:contain;border-radius:12px;box-shadow:0 18px 55px -28px rgba(44,65,69,.38);}
.device-desktop{position:absolute;right:0;top:0;width:88%;height:88%;}
.device-mobile{position:absolute;left:0;bottom:0;width:24%;height:85%;}
.project-art:hover .device-stage{filter:brightness(1.015);}
.work-outro{text-align:center;font-size:clamp(28px,4vw,48px);padding:12vh 0;color:#6d7e83;}
a:focus-visible{outline:1px solid currentColor;outline-offset:8px;}
.back-work{margin:0 0 8vh;}
#work-page .case-hero{position:static;display:block;background:none;padding:0;max-width:900px;margin:0 0 10vh;}
.case-hero h1{font-size:clamp(52px,8vw,112px);line-height:1.03;letter-spacing:-.025em;margin:32px 0;}
.case-deck{font-size:clamp(20px,2.3vw,30px);font-weight:200;line-height:1.5;max-width:720px;color:#5d6a72;}
.case-study>.device-stage{max-width:1080px;margin:8vh auto 12vh;}
.case-meta{display:grid;grid-template-columns:1fr 1fr 1.7fr;gap:32px;padding:40px 0;border-top:1px solid #bec5c344;margin:0 0 10vh;}
.case-meta>div:last-child{grid-column:1/-1;}
.case-meta dt{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--g-label);margin-bottom:12px;}
.case-meta dd{margin:0;font-size:15px;font-weight:300;line-height:1.6;}
.case-chapter{display:grid;grid-template-columns:1fr 2.4fr;gap:40px 7%;padding:12vh 0;position:relative;}
.chapter-label{position:sticky;top:120px;align-self:start;line-height:1.7;}
.chapter-body h2{font-size:clamp(34px,4vw,58px);line-height:1.15;margin:0 0 24px;}
.chapter-body>p{font-size:clamp(17px,1.5vw,21px);font-weight:300;line-height:1.8;color:#59666b;max-width:700px;}
.chapter-media{grid-column:1/-1;padding-top:5vh;}
.chapter-media>.device-stage{max-width:1080px;margin:auto;}
.media-caption{font-size:12px;text-align:center;color:#778486;margin:42px 0 0;}
.phone-pair{display:flex;gap:7%;justify-content:center;padding:40px 0;}
.phone-pair img{width:28%;height:auto;object-fit:contain;border-radius:16px;box-shadow:0 18px 50px -30px #44575b88;}
.exploration-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px 32px;}
.exploration-grid img{width:100%;aspect-ratio:412/330;object-fit:contain;border-radius:10px;}
#work-page .exploration-grid figcaption{font-size:13px;color:#788184;margin-top:16px;}
.chapter-media blockquote{font-family:var(--accent-font);font-style:italic;font-weight:100;font-size:clamp(32px,5vw,68px);line-height:1.3;text-align:center;margin:6vh auto;max-width:930px;color:#748a8b;}
.case-stat{text-align:center;padding:4vh 0;}
.case-stat>span{font-family:var(--accent-font);font-weight:100;font-size:clamp(80px,12vw,150px);color:#6c898a;}
.case-stat p{font-size:18px;}
.case-footnote{max-width:650px;margin:50px auto 0;text-align:center;font-size:16px;line-height:1.7;color:#718083;font-weight:300;}
.case-next{padding:15vh 0 7vh;border-top:1px solid #bec5c344;margin-top:12vh;}
.case-next>a:first-of-type{display:block;font-size:clamp(36px,5vw,72px);text-decoration:none;color:inherit;margin:20px 0;}
@media(max-width:860px){
 #work-page main{padding-top:110px;}
 .work-intro{padding-top:2vh;padding-bottom:4vh;}
 .project-preview,.project-preview:nth-of-type(even){display:flex;flex-direction:column;align-items:stretch;gap:15px;min-height:auto;padding:5vh 0 8vh;}
 .project-art{padding:25px 0;}
 .project-year{margin-top:22px;}
 .case-meta{grid-template-columns:1fr 1fr;gap:28px;}
 .case-meta>div:nth-child(3){grid-column:1/-1;}
 .case-chapter{display:block;padding:7vh 0;}
 .chapter-label{position:static;margin-bottom:22px;}
 .case-study>.device-stage{margin:7vh auto;}
 .phone-pair img{width:40%;}
 .device-stage img{border-radius:6px;}
 .exploration-grid{gap:25px 16px;}
 .back-work{margin-bottom:5vh;}
}
@media(prefers-reduced-motion:reduce){[data-parallax]{transform:none!important;}}

/* Full-screen scenes keep the portfolio's airy typography and quiet palette. */
html.work-presentation #work-page main{padding:0;}
html.work-presentation #work-page > header{background:linear-gradient(#fff 15%,#ffffff00);}
#gallery,.case-study{max-width:none;padding:0;}
.work-slide-track{position:relative;}
.work-slide{
 position:sticky;top:0;box-sizing:border-box;min-height:100svh;width:100%;max-width:none;margin:0;
 padding:110px clamp(28px,7vw,120px) 100px;
 background:radial-gradient(ellipse at 75% 65%,#edf3f1 0%,#fafcfb 42%,#fff 76%);
}
.work-slide-track:nth-child(even)>.work-slide{background:radial-gradient(ellipse at 20% 55%,#eef1ee 0%,#fafbf9 42%,#fff 76%);}
.work-intro.work-slide{display:flex;flex-direction:column;justify-content:center;}
.work-intro.work-slide h1{font-size:clamp(48px,6.5vw,96px);max-width:1000px;}
.work-intro.work-slide>p{max-width:680px;}
.work-intro.work-slide:after{content:'Scroll to explore ↓';position:absolute;bottom:100px;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#778486;}
.project-preview.work-slide,.project-preview.work-slide:nth-of-type(even){display:grid;grid-template-columns:1fr 1.5fr;gap:6%;align-content:center;align-items:center;}
.project-preview.work-slide .project-heading{grid-column:1;grid-row:1;}
.project-preview.work-slide .project-art{grid-column:2;grid-row:1;padding:0;}
.project-preview.work-slide h2{font-size:clamp(42px,5vw,76px);}
.work-outro.work-slide{display:flex;align-items:center;justify-content:center;}
.case-cover.work-slide{display:flex;flex-direction:column;justify-content:center;}
.case-cover .back-work{position:absolute;top:100px;margin:0;}
#work-page .case-cover .case-hero{margin:0;max-width:1100px;}
.case-cover .case-hero h1{font-size:clamp(58px,8vw,118px);}
.case-overview.work-slide{display:grid;grid-template-columns:1.7fr 1fr;gap:8%;align-items:center;}
.case-overview .case-meta{display:grid;grid-template-columns:1fr 1fr;margin:0;padding:24px 0;gap:24px;}
.case-overview .case-meta>div:nth-child(3){grid-column:1/-1;}
.case-overview .case-meta dd{font-size:14px;}
.case-chapter.work-slide{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:24px 7%;align-content:center;align-items:center;}
.case-chapter.work-slide .chapter-label{grid-column:1;position:static;align-self:end;}
.case-chapter.work-slide .chapter-body{grid-column:1;align-self:start;}
.case-chapter.work-slide .chapter-body h2{font-size:clamp(34px,3.7vw,56px);}
.case-chapter.work-slide .chapter-body>p{font-size:clamp(16px,1.35vw,20px);line-height:1.7;margin-bottom:0;}
.case-chapter.work-slide .chapter-media{grid-column:2;grid-row:1 / span 2;padding:0;min-width:0;}
.case-chapter.work-slide .phone-pair{padding:0;}
.case-chapter.work-slide .phone-pair img{width:38%;max-height:55svh;}
.case-chapter.work-slide .exploration-grid{gap:20px;}
.case-chapter.work-slide blockquote{font-size:clamp(32px,3.6vw,56px);margin:0;}
.case-chapter.work-slide .case-footnote{font-size:14px;margin:24px auto 0;}
.case-chapter.work-slide .media-caption{margin-top:24px;}
.case-next.work-slide{display:flex;flex-direction:column;justify-content:center;border:0;}
.work-slide .project-heading,.work-slide .chapter-body,.work-slide .case-hero,.work-intro.work-slide>h1,.work-intro.work-slide>p{transform:translate3d(0,var(--copy-drift,0px),0);}
.work-slide .project-art,.work-slide .chapter-media,.case-overview.work-slide>.device-stage{transform:translate3d(0,var(--art-drift,0px),0) scale(var(--art-scale,1));}
.work-slide:focus{outline:none;}
.work-slide-controls{position:fixed;bottom:24px;left:clamp(28px,7vw,120px);right:clamp(28px,7vw,120px);z-index:12;display:flex;align-items:center;justify-content:space-between;gap:24px;pointer-events:none;}
.slide-name{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:#657572;}
.slide-navigation{display:flex;flex-direction:column;gap:16px;align-items:center;pointer-events:auto;background:#ffffffd9;border:1px solid #dfe5e1;border-radius:40px;padding:4px;backdrop-filter:blur(12px);}
.slide-count{font-size:11px;letter-spacing:.12em;font-variant-numeric:tabular-nums;color:#657572;min-width:54px;text-align:center;}
.slide-navigation button{font:inherit;font-size:18px;color:#415550;background:transparent;border:0;border-radius:50%;width:40px;height:40px;cursor:pointer;}
.slide-navigation button:hover:not(:disabled){background:#eaf0ed;}
.slide-navigation button:disabled{opacity:.25;cursor:default;}
.slide-navigation button:focus-visible{outline:1px solid #415550;outline-offset:2px;}
@media(max-width:860px){
 .work-slide{padding:100px 28px 110px;}
 .work-intro.work-slide h1{font-size:clamp(42px,9vw,68px);}
 .project-preview.work-slide,.project-preview.work-slide:nth-of-type(even),.case-overview.work-slide,.case-chapter.work-slide{display:flex;flex-direction:column;justify-content:center;align-items:stretch;gap:32px;}
 .project-preview.work-slide .project-art{width:100%;max-width:650px;align-self:center;}
 .project-preview.work-slide h2{font-size:clamp(42px,8vw,64px);}
 .project-year{margin-top:20px;}
 .case-cover .back-work{top:80px;}
 .case-overview.work-slide>.device-stage{max-width:600px;align-self:center;}
 .case-chapter.work-slide .chapter-label{margin:0;align-self:start;}
 .case-chapter.work-slide .chapter-media{width:100%;max-width:650px;align-self:center;}
 .case-chapter.work-slide .phone-pair img{max-height:none;}
 .work-slide-controls{left:24px;right:24px;bottom:16px;}
 .slide-name{max-width:45%;font-size:9px;}
 .work-intro.work-slide:after{bottom:115px;}
}
@media(prefers-reduced-motion:reduce){
 .work-slide{position:relative;top:0!important;}
 .work-slide [style],.work-slide .project-heading,.work-slide .chapter-body,.work-slide .case-hero,.work-slide .project-art,.work-slide .chapter-media,.work-intro.work-slide>h1,.work-intro.work-slide>p{transform:none!important;}
}
@media(min-width:861px) and (prefers-reduced-motion:no-preference){
 html.work-presentation{scroll-snap-type:y proximity;}
 .work-slide-track{scroll-snap-align:start;}
}
@media(min-width:861px){
 .case-chapter.work-slide .exploration-grid img{max-height:22svh;}
}

/* A quiet landing on the pond; case studies retain their full-screen pacing. */
#gallery.work-landing{max-width:1240px;padding:0 clamp(28px,6vw,88px) 90px;}
.work-landing-intro{position:static!important;display:block!important;padding:0!important;background:none!important;}
.work-landing-intro h1{font-size:clamp(36px,4vw,58px);line-height:1.16;letter-spacing:-.035em;font-weight:300;margin:20px 0 0;}
.work-landing-intro h1 em{font-family:var(--accent-font);font-weight:100;}
.work-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3.6vw,54px);align-items:start;margin-top:70px;}
.work-card-float{position:relative;min-width:0;--card-angle:-1.1deg;animation:work-card-drift 14s ease-in-out infinite;}
.work-card-float:nth-child(2){--card-angle:1deg;margin-top:34px;animation-duration:17s;animation-delay:-6s;}
.work-card-float:nth-child(3){--card-angle:-.6deg;margin-top:8px;animation-duration:16s;animation-delay:-10s;}
.work-card-float:before{content:'';position:absolute;inset:35% -12% -10%;z-index:-1;pointer-events:none;border-radius:50%;background:radial-gradient(ellipse,rgba(123,166,169,.13),rgba(158,192,190,.05) 48%,transparent 70%);transform:scaleY(.55);filter:blur(8px);}
.work-card{box-sizing:border-box;display:flex;flex-direction:column;min-height:370px;padding:24px;color:inherit;text-decoration:none;background:linear-gradient(155deg,rgba(255,255,253,.96),rgba(248,250,247,.91));border:1px solid rgba(255,255,255,.9);border-radius:4px;box-shadow:0 2px 3px rgba(66,99,99,.035),0 12px 22px -17px rgba(61,100,101,.22),0 28px 45px -28px rgba(79,121,122,.19);transition:box-shadow .4s ease,background .4s ease;}
a.work-card:hover,a.work-card:focus-visible{background:#fffefb;box-shadow:0 3px 5px rgba(66,99,99,.04),0 15px 26px -17px rgba(61,100,101,.27),0 30px 48px -28px rgba(79,121,122,.22);}
.work-card-float:has(a:focus-visible),.work-card-float:has(a:hover){animation-play-state:paused;}
.work-card:focus-visible{outline:2px solid #708c87;outline-offset:6px;}
.work-card-meta{display:flex;justify-content:space-between;gap:10px;font-size:9px;line-height:1.6;letter-spacing:.09em;text-transform:uppercase;color:#7c8582;}
.work-card-meta>span{white-space:nowrap;letter-spacing:.02em;}
.work-card-art{height:155px;display:flex;align-items:center;justify-content:center;margin:24px 0 26px;}
.work-card-art img{width:100%;max-height:100%;object-fit:contain;border-radius:3px;box-shadow:0 6px 20px -15px #5b7575;}
.work-card-copy{margin-top:auto;}
.work-card-copy h2{font-family:var(--accent-font);font-style:italic;font-size:clamp(25px,2.4vw,35px);font-weight:100;line-height:1.15;letter-spacing:-.02em;margin:0 0 12px;}
.work-card-copy p{font-size:13px;line-height:1.6;font-weight:300;color:#65736f;min-height:42px;margin:0;}
.work-card-link{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.04em;margin-top:24px;color:#657873;}
.work-card-upcoming{background:linear-gradient(155deg,rgba(253,254,250,.83),rgba(244,248,244,.76));}
.work-card-horizon{position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 60%,rgba(176,198,187,.2),transparent 67%);}
.work-card-horizon:before,.work-card-horizon:after,.work-card-horizon span{content:'';position:absolute;width:72%;height:25%;border:1px solid rgba(119,157,153,.19);border-radius:50%;transform:rotate(-8deg);}
.work-card-horizon:after{width:51%;height:18%;}
.work-card-horizon span{width:28%;height:10%;}
@keyframes work-card-drift{0%,100%{transform:translateY(0) rotate(var(--card-angle));}50%{transform:translateY(-5px) rotate(calc(var(--card-angle) + .3deg));}}
@media(min-width:861px){body:has(#gallery.work-landing:not([hidden])) #work-page main{padding-top:125px;}}
@media(max-width:860px){
 #gallery.work-landing{max-width:480px;padding:0 28px 70px;}
 .work-card-grid{grid-template-columns:1fr;gap:42px;margin-top:44px;}
 .work-card-float:nth-child(n){margin-top:0;}
 .work-card{min-height:360px;padding:26px;}
 .work-card-art{height:175px;}
 .work-card-copy h2{font-size:32px;}
 .work-card-copy p{min-height:0;}
}
@media(prefers-reduced-motion:reduce){.work-card-float{animation:none;}.work-card{transition:none;}}

/* Water-driven motion replaces the independent decorative drift. */
.work-card-float.water-connected{animation:none;transform:translateY(var(--wave-lift,0px)) rotate(calc(var(--card-angle) + var(--wave-roll,0deg)));}
@media(prefers-reduced-motion:reduce){.work-card-float.water-connected{transform:none;}.water-connected .work-card{filter:none!important;}}

/* Work shares the public home page; case studies remain separate protected views. */
#work-section{position:relative;scroll-margin-top:90px;padding:72px 0 120px;min-height:60vh;}
#work-section:focus{outline:none;}
#work-section .work-access{margin:0 auto;}
#work-section + .home-contact{margin-top:0;}
.work-access-remember{font:400 12px/1.6 var(--body-font);color:#62756c;text-align:left;margin:0 0 16px;}

/* The only public screen; the encrypted portfolio is mounted after unlock. */
body.site-locked{overflow:auto!important;min-height:100svh;background:radial-gradient(ellipse at 20% 25%,#e7efeb 0,transparent 55%),radial-gradient(ellipse at 85% 80%,#e7eef2 0,transparent 55%),#f8faf9;}
#locked-background{display:none;position:fixed;inset:0;width:100%;height:100dvh;pointer-events:none;}
.site-locked #locked-background{display:block;}
body.site-locked::before{content:"";position:fixed;inset:0;z-index:3000;background:#fff;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);pointer-events:none;animation:password-unveil 950ms cubic-bezier(.4,0,.2,1) forwards;}
@keyframes password-unveil{from{opacity:1;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);}to{opacity:0;backdrop-filter:blur(0);-webkit-backdrop-filter:blur(0);visibility:hidden;}}
.site-access{position:relative;z-index:2000;max-width:520px;margin:0 auto!important;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:64px 28px;}
.site-access .password-heading{font-size:clamp(32px,4vw,48px);line-height:1.3;margin:0 0 22px;}
.site-access{max-width:720px;}
.password-word{display:inline-block;white-space:nowrap;}
.site-access .password-note{max-width:380px!important;margin:0 auto 40px!important;font-size:13px!important;}
.password-contact{color:inherit;text-decoration:underline;text-underline-offset:3px;text-decoration-color:#62756c66;}
.password-contact:hover{text-decoration-color:currentColor;}
.password-heading .password-letter{display:inline-block;animation:password-letter-in 850ms cubic-bezier(.22,1,.36,1) both,letter-float 12s ease-in-out infinite;animation-delay:calc(150ms + var(--letter-index) * 65ms),calc(var(--letter-index) * -850ms);}
/* Shared, shape-preserving drift for the cover, access heading and sign-off. */
.floating-letter{display:inline-block;animation:letter-float 12s ease-in-out infinite;animation-delay:calc(var(--letter-index) * -850ms);}
@keyframes letter-float{0%,100%{translate:0 calc(-1 * var(--float-distance,.045em));}50%{translate:0 var(--float-distance,.045em);}}
@media(prefers-reduced-motion:reduce){.floating-letter{animation:none;}}
@keyframes password-letter-in{from{opacity:0;transform:translateY(12px);filter:blur(4px);}to{opacity:1;transform:translateY(0);filter:blur(0);}}
.site-access form{width:100%;max-width:320px;margin:0 auto;}
.site-access .work-access-fields{position:relative;display:block;}
.site-access input{padding-right:58px;min-height:52px;border-color:rgba(255,255,255,.48);background:radial-gradient(ellipse at 15% 0%,#ffffff66,transparent 62%),linear-gradient(125deg,#ffffff40,#f7fbfa16 50%,#ffffff30);box-shadow:inset 0 1px 1px #ffffff80;backdrop-filter:blur(12px) saturate(120%);-webkit-backdrop-filter:blur(12px) saturate(120%);}
.site-access input{transition:border-color 200ms ease,box-shadow 200ms ease,background-color 200ms ease;}
.site-access input:focus{outline:none;border-color:rgba(255,255,255,.48);background-color:rgba(255,255,255,.18);box-shadow:inset 0 1px 1px #ffffff99;}
@media(forced-colors:active){.site-access input:focus-visible{outline:2px solid Highlight;outline-offset:3px;}}
.site-access .contact-button{position:absolute;right:4px;top:4px;width:44px;height:44px;min-height:44px;border:0;border-radius:50%;background:transparent;padding:0;color:#53656b;font:400 13px/1 var(--body-font);}
.site-access .contact-button:focus-visible{outline:2px solid #354a42;outline-offset:2px;}
.site-access #work-access-message{margin-bottom:0;}
.site-access #work-access-message.is-loading{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
.site-locked .site-content{visibility:hidden!important;}
@media(prefers-reduced-motion:reduce){.password-heading .password-letter{animation:none;}body.site-locked::before{display:none;}}
/* A case-study gate overlays its safe background; home remains public. */
.site-locked #work-page,.site-locked #water,.site-locked #splash{visibility:hidden!important;}
.site-locked #site-access{position:fixed;inset:0;width:100%;overflow:auto;}
#locked-background{z-index:100;}

.site-access .contact-button svg{display:block;width:20px;height:20px;margin:auto;fill:none;stroke:currentColor;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;}
