/* Full-viewport department idents. Nothing occupies space in the document. */
.dt-screen {--ink:#183749;--glint:#bd9d57;position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;background:#fff;isolation:isolate;overflow:hidden;pointer-events:none!important;user-select:none}
.dt-screen[data-department=water]{--ink:#075682;--glint:#57d0ea}
.dt-screen[data-department=renovation]{--ink:#a52a35;--glint:#eda35f}
.dt-screen[data-department=estate]{--ink:#006e79;--glint:#60d0ad}
.dt-field,.dt-field i{position:absolute;inset:0;pointer-events:none}
.dt-field{overflow:hidden}
.dt-logo{position:relative;z-index:2;display:block;width:min(66vw,610px);height:auto;max-height:43vh;object-fit:contain;filter:none!important;animation:dt-mark 380ms both cubic-bezier(.16,.75,.3,1)}
.dt-screen[data-department=estate] .dt-logo{width:min(51vw,370px)}
.dt-enter{animation:dt-screen-out 390ms both}
.dt-field i{--n:0}
.dt-field i:nth-child(2){--n:1}.dt-field i:nth-child(3){--n:2}.dt-field i:nth-child(4){--n:3}.dt-field i:nth-child(5){--n:4}
.dt-screen[data-effect=shutters] .dt-field i{left:calc(var(--n)*20%);right:auto;width:20.2%;background:linear-gradient(150deg,var(--ink),var(--glint));animation:dt-shutter 245ms cubic-bezier(.6,.02,.2,1) both;animation-delay:calc(var(--n)*12ms)}
.dt-screen[data-effect=shutters] .dt-field i:nth-child(even){animation-name:dt-shutter-down}
.dt-screen[data-effect=diagonal] .dt-field i,.dt-screen[data-effect=tide] .dt-field i{left:-100%;right:-30%;background:linear-gradient(100deg,transparent 28%,var(--ink) 41%,var(--glint) 55%,#fff 59%,transparent 65%);animation:dt-diagonal 270ms cubic-bezier(.25,.48,.22,1) both}
.dt-screen[data-effect=diagonal] .dt-field i:not(:first-child),.dt-screen[data-effect=tide] .dt-field i:nth-child(n+3){display:none}
.dt-screen[data-effect=tide] .dt-field i{border-radius:48%;background:linear-gradient(0deg,var(--ink),var(--glint));left:-25%;right:-25%;bottom:-80%;animation-name:dt-tide}
.dt-screen[data-effect=tide] .dt-field i:nth-child(2){opacity:.22;animation-delay:30ms}
.dt-screen[data-effect=ripple] .dt-field i,.dt-screen[data-effect=iris] .dt-field i{inset:50% auto auto 50%;width:140vmax;height:140vmax;border-radius:50%;border:7vmax solid var(--ink);box-shadow:0 0 0 2.4vmax var(--glint);animation:dt-ring 300ms both cubic-bezier(.18,.67,.28,1);animation-delay:calc(var(--n)*23ms)}
.dt-screen[data-effect=ripple] .dt-field i:nth-child(n+4),.dt-screen[data-effect=iris] .dt-field i:not(:first-child){display:none}
.dt-screen[data-effect=iris] .dt-field i{border-width:18vmax}
.dt-screen[data-effect=doors] .dt-field i{right:50%;background:linear-gradient(95deg,var(--ink),var(--glint));animation:dt-door-left 280ms both cubic-bezier(.5,.02,.18,1)}
.dt-screen[data-effect=doors] .dt-field i:nth-child(2){left:50%;right:0;animation-name:dt-door-right}
.dt-screen[data-effect=doors] .dt-field i:nth-child(n+3){display:none}
.dt-screen[data-effect=plan] .dt-field{background-image:linear-gradient(to right,#007c781b 1px,transparent 1px),linear-gradient(to bottom,#007c781b 1px,transparent 1px);background-size:48px 48px}
.dt-screen[data-effect=plan] .dt-field i{top:calc(var(--n)*20%);height:20.25%;background:linear-gradient(95deg,var(--ink),var(--glint));animation:dt-door-right 255ms both cubic-bezier(.45,.02,.2,1);animation-delay:calc(var(--n)*12ms)}
@keyframes dt-mark{0%{opacity:.3;transform:scale(.97)}18%{opacity:1}58%{opacity:1;transform:scale(1)}to{opacity:.65;transform:scale(1.015)}}
@keyframes dt-screen-out{from{opacity:.96}22%{opacity:.9}to{opacity:0}}
@keyframes dt-shutter{to{transform:translateY(-102%)}}
@keyframes dt-shutter-down{to{transform:translateY(102%)}}
@keyframes dt-diagonal{from{transform:translateX(-15%) skewX(-15deg)}to{transform:translateX(105%) skewX(-15deg)}}
@keyframes dt-tide{from{transform:translateY(-48%) rotate(-12deg)}to{transform:translateY(107%) rotate(8deg)}}
@keyframes dt-ring{from{opacity:.9;transform:translate(-50%,-50%) scale(.04)}to{opacity:0;transform:translate(-50%,-50%) scale(1.35)}}
@keyframes dt-door-left{to{transform:translateX(-102%)}}
@keyframes dt-door-right{to{transform:translateX(102%)}}
@media(max-width:650px){.dt-logo{width:83vw;max-height:35svh}.dt-screen[data-department=estate] .dt-logo{width:64vw}}
@media(prefers-reduced-motion:reduce),print{.dt-screen{display:none!important}}
