:root {
  --silt:#5c5142;
  --deep:#302f2b;
  --ink:#242521;
  --fog:#b7bdba;
  --fog-light:#d2d3cc;
  --linen:#e8e2d2;
  --paper:#f1ecdd;
  --pipe:#f4f1e7;
  --delft:#317d8c;
  --rust:#855640;
  --line:rgba(48,47,43,.24);
  --display:'Newsreader',serif;
  --body:'Epilogue',sans-serif;
  --mono:'Space Mono',monospace;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--deep)}
body{margin:0;color:var(--ink);background:var(--linen);font-family:var(--body);font-size:16px;line-height:1.65;overflow-x:hidden}
button,input{font:inherit}
a{color:inherit}
::selection{background:var(--delft);color:white}
.skip-link{position:fixed;left:1rem;top:1rem;z-index:200;background:var(--pipe);padding:.8rem 1rem;transform:translateY(-180%);transition:transform .2s}
.skip-link:focus{transform:none}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.grain{position:fixed;inset:0;z-index:90;pointer-events:none;opacity:.18;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.22'/%3E%3C/svg%3E")}
.site-header{position:absolute;z-index:20;top:0;left:0;width:100%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:1.2rem 2.4rem;color:var(--pipe);border-bottom:1px solid rgba(255,255,255,.25);font:600 .68rem/1.25 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.wordmark{display:flex;align-items:center;gap:.7rem;text-decoration:none;width:max-content}
.wordmark svg{width:38px;height:38px;fill:none;stroke:currentColor;stroke-width:1.5}.wordmark svg path:first-child{fill:rgba(255,255,255,.12)}
.site-header nav{display:flex;gap:2.2rem}.site-header nav a{text-decoration:none;position:relative;padding:.8rem .2rem}.site-header nav a:after{content:"";position:absolute;left:.2rem;right:100%;bottom:.55rem;height:1px;background:var(--pipe);transition:right .25s}.site-header nav a:hover:after{right:.2rem}
.licence-chip{justify-self:end;display:flex;align-items:center;gap:.55rem}.licence-chip i{width:8px;height:8px;border-radius:50%;background:var(--delft);box-shadow:0 0 0 4px rgba(49,125,140,.25)}
.hero{position:relative;min-height:900px;height:100svh;max-height:1100px;overflow:hidden;color:var(--pipe);background:linear-gradient(180deg,#676d6c 0%,#919795 36%,#676965 54%,#373630 100%)}
.hero:after{content:"";position:absolute;inset:54% 0 0;background:linear-gradient(174deg,transparent 0 17%,rgba(35,38,37,.32) 18%,rgba(29,31,29,.78) 48%),repeating-linear-gradient(177deg,transparent 0 21px,rgba(231,234,227,.12) 23px,transparent 25px)}
.fog{position:absolute;z-index:2;border-radius:50%;filter:blur(45px);opacity:.74;animation:fogDrift 18s ease-in-out infinite alternate}.fog-one{width:72vw;height:29vw;left:-8vw;top:22%;background:rgba(230,232,224,.52)}.fog-two{width:64vw;height:23vw;right:-15vw;top:38%;background:rgba(219,225,221,.46);animation-delay:-8s;animation-direction:alternate-reverse}
@keyframes fogDrift{to{transform:translate3d(8vw,2vw,0) scale(1.08)}}
.hero-river{position:absolute;inset:20% 0 0;z-index:1}.bank{position:absolute;left:0;right:0;height:9%;background:#4e504b;filter:blur(1px)}.bank-a{top:30%;clip-path:polygon(0 45%,8% 22%,17% 44%,24% 8%,33% 49%,43% 26%,54% 57%,64% 11%,74% 44%,83% 20%,100% 51%,100% 100%,0 100%)}.bank-b{top:34%;background:#656761;height:5%}
.bridge{position:absolute;left:17%;right:8%;top:27%;height:1px;background:rgba(39,42,41,.6);box-shadow:8vw -1.4vw 0 -0.55vw rgba(39,42,41,.55),17vw -1.4vw 0 -0.55vw rgba(39,42,41,.55),26vw -1.4vw 0 -0.55vw rgba(39,42,41,.55),35vw -1.4vw 0 -0.55vw rgba(39,42,41,.55),44vw -1.4vw 0 -0.55vw rgba(39,42,41,.55)}
.water-trace{position:absolute;left:8%;right:-4%;top:61%;height:2px;background:rgba(243,244,238,.22);transform:rotate(-1deg)}.trace-b{top:70%;left:27%;opacity:.6}
.hero-kicker{position:absolute;z-index:6;top:20%;left:2.4rem;right:2.4rem;display:flex;justify-content:space-between;font:400 .66rem var(--mono);letter-spacing:.1em}
.hero-copy{position:absolute;z-index:6;left:8vw;right:7vw;top:30%;display:grid;grid-template-columns:minmax(0,1fr) 28rem;align-items:end}.eyebrow,.folio{font:700 .68rem/1.4 var(--mono);letter-spacing:.13em;text-transform:uppercase}.hero-copy>.eyebrow{grid-column:1/-1;border-left:2px solid var(--delft);padding-left:.8rem;margin:0 0 2.4rem}
.hero h1{grid-column:1/-1;margin:0;font:300 clamp(5.8rem,11.8vw,11.5rem)/.73 var(--display);letter-spacing:-.065em;text-shadow:0 3px 28px rgba(30,30,27,.12)}.hero h1 em{font-weight:300;color:#d7d8d0}
.hero-deck{grid-column:2;margin-top:3.6rem;display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:end}.hero-deck p{font:400 .85rem/1.75 var(--body);margin:0;color:rgba(255,255,255,.8)}
.down-link{display:grid;place-items:center;text-decoration:none;text-align:center;gap:.65rem;font:700 .58rem var(--mono);letter-spacing:.08em;text-transform:uppercase;width:118px}.down-link b{display:grid;place-items:center;border:1px solid rgba(255,255,255,.65);width:48px;height:48px;border-radius:50%;font-size:1.2rem;transition:transform .25s,background-color .25s,color .25s}.down-link:hover b{background:var(--pipe);color:var(--deep);transform:translateY(5px)}
.low-water-mark{position:absolute;z-index:5;right:-1rem;bottom:8%;transform:rotate(90deg);font:400 .58rem var(--mono);letter-spacing:.12em}.low-water-mark:before{content:"";display:inline-block;width:90px;height:1px;background:currentColor;vertical-align:middle;margin-right:1rem}
.load-reveal{opacity:0;transform:translateY(28px)}.loaded .load-reveal{animation:loadIn .9s cubic-bezier(.2,.8,.2,1) both}.loaded .load-reveal:nth-child(2){animation-delay:.12s}.loaded h1.load-reveal{animation-delay:.24s}.loaded .hero-deck{animation-delay:.44s}@keyframes loadIn{to{opacity:1;transform:none}}

.foreshore-section{background:var(--deep);color:var(--pipe);padding:8rem 2.4rem 9rem;position:relative}.foreshore-section:before{content:"";position:absolute;left:0;top:0;width:1px;height:100%;background:rgba(255,255,255,.1);transform:translateX(8vw)}
.section-intro{max-width:1320px;margin:auto;display:grid;grid-template-columns:1fr minmax(20rem,34rem);gap:6rem;align-items:end;padding-bottom:4rem}.section-intro h2,.strata h2,.tide-paper h2,.field-notes h2,.ethics h2{font:300 clamp(4.2rem,8.2vw,8.3rem)/.76 var(--display);letter-spacing:-.055em;margin:.9rem 0 0}.section-intro h2 i,.strata h2 i,.tide-paper h2 i,.field-notes h2 i,.ethics h2 i{font-weight:300;color:var(--delft)}.intro-copy{padding-left:5rem;border-left:1px solid rgba(255,255,255,.22);font-size:.88rem;color:#c4c3ba}.intro-copy p{margin:0 0 1.3rem}.intro-copy strong{color:var(--pipe);font-family:var(--mono);font-size:.72rem;letter-spacing:.08em}.instruction{font:400 .6rem var(--mono)!important;letter-spacing:.07em;text-transform:uppercase;color:var(--pipe)!important}.instruction span{color:var(--delft);font-size:1.2rem;margin-right:.6rem}
.field-console{max-width:1320px;margin:auto;display:grid;grid-template-columns:minmax(0,1fr) 320px;grid-template-rows:auto minmax(620px,68vh);box-shadow:0 30px 80px rgba(0,0,0,.28)}
.tide-console{grid-column:1/-1;background:#45443f;border:1px solid rgba(255,255,255,.15);padding:1.2rem 1.6rem .9rem;display:grid;grid-template-columns:1fr 2fr;gap:2.4rem;align-items:center}
.tide-readout{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}.tide-readout div{display:grid;gap:.25rem}.tide-readout span,.tide-slider-label,.tray-head{font:400 .54rem var(--mono);letter-spacing:.08em;color:#bfc1bb;text-transform:uppercase}.tide-readout strong{font:400 1rem var(--mono);color:var(--pipe)}.tide-readout .status{color:#e3b673}.tide-readout .status.open{color:#8bc2ba}
.tide-slider-label{display:flex;justify-content:space-between;margin-bottom:.5rem}.tide-slider{appearance:none;width:100%;height:18px;background:linear-gradient(90deg,var(--delft) 0 48%,#d0c6a9 49% 51%,var(--delft) 52%);border-radius:0;cursor:ew-resize}.tide-slider::-webkit-slider-thumb{appearance:none;width:3px;height:32px;background:var(--pipe);box-shadow:0 0 0 4px rgba(255,255,255,.13)}.tide-slider::-moz-range-thumb{width:3px;height:32px;border:0;border-radius:0;background:var(--pipe)}
.river-stage{position:relative;min-width:0;overflow:hidden;background:linear-gradient(167deg,#50473b 0%,#6d5c49 45%,#40392f 100%);cursor:none;isolation:isolate}.silt-texture{position:absolute;inset:0;opacity:.65;background:radial-gradient(circle at 20% 64%,#282824 0 1px,transparent 2px),radial-gradient(circle at 63% 74%,#9b8060 0 1px,transparent 2px),radial-gradient(circle at 45% 22%,rgba(20,20,17,.5) 0 1px,transparent 3px);background-size:24px 19px,31px 29px,47px 37px}
.far-bank{position:absolute;z-index:1;top:0;left:0;right:0;height:17%;background:#272a29;opacity:.9;display:flex;align-items:flex-end;gap:5%;padding:0 5%}.far-bank span{display:block;background:#3c3f3d;width:11%;height:70%;clip-path:polygon(14% 22%,33% 22%,33% 0,52% 0,52% 35%,82% 35%,100% 100%,0 100%)}
.water-sheet{position:absolute;z-index:3;left:-5%;right:-5%;top:0;height:var(--water,54%);background:linear-gradient(180deg,#6d8584 0%,#536e6f 50%,#425e61 100%);transition:transform .35s ease;box-shadow:0 7px 30px rgba(17,27,27,.45);overflow:hidden}.water-sheet:after{content:"";position:absolute;left:-10%;right:-10%;bottom:-4px;height:15px;background:radial-gradient(ellipse at center,#99aaa5 0 20%,transparent 24%) 0 0/42px 12px repeat-x;animation:waterLap 2.8s linear infinite}.water-shine{position:absolute;inset:10% 0;background:repeating-linear-gradient(175deg,transparent 0 28px,rgba(242,246,237,.15) 30px,transparent 33px)}@keyframes waterLap{to{transform:translateX(42px)}}
.tide-rule{position:absolute;z-index:4;right:.8rem;top:3%;bottom:3%;width:44px;border-right:1px solid rgba(255,255,255,.4);display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;padding-right:.7rem;color:rgba(255,255,255,.65);font:400 .46rem var(--mono)}.tide-rule span:after{content:"";position:absolute;right:0;width:7px;height:1px;background:currentColor;margin-top:.45em}
.water-warning{position:absolute;z-index:5;top:22%;left:50%;transform:translateX(-50%);margin:0;padding:.6rem .9rem;background:rgba(38,43,41,.77);font:400 .58rem var(--mono);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;transition:opacity .3s}.river-stage.workable .water-warning{opacity:0}
.find{position:absolute;z-index:2;left:var(--x);top:var(--y);width:190px;height:138px;transform:translate(-50%,-50%);pointer-events:none;transition:opacity .3s,transform .5s}.river-stage.workable .find{z-index:6;pointer-events:auto}.find.lifted{opacity:0;transform:translate(-50%,-80%) scale(.8);pointer-events:none}.find canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none}.artefact{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);filter:drop-shadow(0 7px 4px rgba(21,20,17,.38))}.pipe-shape{width:95px;height:17px;background:#e7e3d7;border-radius:100% 8px 8px 100%;transform:translate(-55%,-50%) rotate(-16deg)}.pipe-shape i{position:absolute;width:37px;height:43px;border:9px solid #e7e3d7;border-top-width:5px;border-radius:9px 9px 18px 18px;right:-28px;bottom:-11px}.pin-shape{width:118px;height:3px;background:#ae8060;transform:translate(-50%,-50%) rotate(21deg)}.pin-shape:before{content:"";position:absolute;left:-7px;top:-7px;width:14px;height:14px;border:2px solid #b58d6d;border-radius:50%}.pin-shape i{position:absolute;right:-6px;top:-2px;border-left:8px solid #ae8060;border-top:2px solid transparent;border-bottom:2px solid transparent}.tessera-shape{display:grid;grid-template-columns:42px 38px;grid-template-rows:34px 39px;gap:3px;transform:translate(-50%,-50%) rotate(-9deg)}.tessera-shape:before,.tessera-shape i,.tessera-shape b{content:"";display:block;background:#b9b09a}.tessera-shape i{background:var(--delft)}.tessera-shape b{background:#d8d0bd;grid-column:2}.penny-shape{display:grid;place-items:center;width:68px;height:68px;border-radius:50%;background:#805743;border:2px solid #a77758;color:#bf9a79;font:700 .55rem var(--mono);box-shadow:inset 0 0 0 4px #684331,inset 0 0 0 6px #9c6c50}.glint{position:absolute;z-index:4;left:50%;top:50%;width:4px;height:4px;border-radius:50%;background:white;box-shadow:0 0 10px 4px white;animation:glint 1.8s ease-in-out infinite}.find:nth-of-type(even) .glint{animation-delay:-.7s}@keyframes glint{50%{opacity:.1;transform:scale(.4)}}
.lift-find{position:absolute;z-index:8;bottom:-1rem;left:50%;transform:translateX(-50%);border:1px solid rgba(255,255,255,.45);background:var(--deep);color:var(--pipe);padding:.55rem .75rem;min-height:38px;white-space:nowrap;font:700 .5rem var(--mono);letter-spacing:.08em;text-transform:uppercase;opacity:0;pointer-events:none;transition:opacity .2s,background-color .2s,color .2s}.lift-find span{color:#79b3bc}.find.cleared .lift-find{opacity:1;pointer-events:auto}.lift-find:disabled{opacity:0}.lift-find:hover{background:var(--pipe);color:var(--deep)}
.brush-cursor{position:absolute;z-index:20;width:38px;height:38px;border:1px solid rgba(255,255,255,.8);border-radius:50%;pointer-events:none;transform:translate(-50%,-50%);opacity:0;transition:opacity .15s}.river-stage:hover .brush-cursor{opacity:1}.brush-cursor span{position:absolute;left:50%;top:-18px;width:2px;height:28px;background:#d8c9aa;transform:rotate(28deg);transform-origin:bottom}
.finds-tray{grid-column:2;grid-row:2;background-color:var(--linen);color:var(--ink);padding:1.7rem;position:relative;background-image:repeating-linear-gradient(12deg,rgba(82,67,48,.03) 0 1px,transparent 1px 5px);border-left:1px solid rgba(255,255,255,.2);overflow:auto}.finds-tray:before{content:"";position:absolute;inset:11px;border:1px solid rgba(82,67,48,.22);pointer-events:none}.tray-head{display:flex;justify-content:space-between;color:var(--silt);position:relative}.finds-tray h3{font:400 2.35rem/.9 var(--display);letter-spacing:-.04em;margin:1.5rem 0 1rem}.tray-empty{font-size:.68rem;line-height:1.6;max-width:230px;color:#615f58}.tray-slots{display:grid;gap:.7rem;margin-top:1rem}.museum-label{position:relative;padding:.9rem .9rem .8rem 4.2rem;background:rgba(248,244,232,.85);border:1px solid #c7bdab;min-height:98px;animation:labelIn .55s ease both}.museum-label:before{content:attr(data-code);position:absolute;left:.75rem;top:.85rem;width:2.7rem;padding:.3rem 0;border-top:2px solid var(--delft);border-bottom:1px solid #aaa;font:700 .5rem var(--mono)}.museum-label h4{font:600 1.05rem/1 var(--display);margin:0 0 .35rem}.museum-label p{font-size:.55rem;line-height:1.5;margin:0;color:#55534c}.museum-label small{display:block;font:700 .47rem var(--mono);color:var(--delft);margin-bottom:.3rem}@keyframes labelIn{from{opacity:0;transform:translateY(-14px) rotate(-1deg)}}

.strata{padding:9rem 2.4rem 10rem;background:var(--linen)}.strata-heading{max-width:1320px;margin:0 auto 5rem;display:grid;grid-template-columns:1fr 1fr;gap:2rem}.strata-heading .folio{grid-column:1/-1}.strata-heading h2{font-size:clamp(4rem,7.5vw,7.7rem)}.strata-heading>p:last-child{align-self:end;justify-self:end;max-width:420px;font-size:.85rem;color:#5e5b53}.layer-ledger{max-width:1320px;margin:auto;border-top:1px solid var(--line)}.layer{display:grid;grid-template-columns:190px minmax(180px,.7fr) 1.3fr;align-items:center;min-height:235px;border-bottom:1px solid var(--line);position:relative;transition:background .35s,padding .35s}.layer:hover{background:rgba(255,255,255,.27);padding:0 1.2rem}.layer-date span{display:block;font:500 2.1rem var(--display)}.layer-date small{font:400 .55rem var(--mono);text-transform:uppercase;letter-spacing:.08em}.layer-copy{display:grid;grid-template-columns:1fr 1.5fr;gap:1.8rem;align-items:start}.layer-copy code{grid-column:1/-1;font:700 .54rem var(--mono);letter-spacing:.08em;color:var(--delft)}.layer-copy h3{font:500 1.65rem/1.05 var(--display);margin:0}.layer-copy p{font-size:.7rem;line-height:1.65;margin:0;color:#5d5a52}.object-drawing{justify-self:center}.penny-drawing{width:112px;height:112px;border:2px solid #72503f;border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 0 9px var(--linen),inset 0 0 0 10px #72503f;color:#72503f;transform:rotate(9deg)}.penny-drawing span{font:700 .58rem/1.4 var(--mono);text-align:center}.pin-drawing{width:170px;height:100px;position:relative}.pin-drawing:before{content:"";position:absolute;width:160px;height:2px;background:#785c47;left:4px;top:48px;transform:rotate(-11deg)}.pin-drawing span{position:absolute;width:24px;height:24px;border:3px double #785c47;border-radius:50%;left:0;top:32px}.pipe-drawing{width:175px;height:120px;position:relative}.pipe-drawing:before{content:"";position:absolute;left:0;top:54px;width:138px;height:10px;border:2px solid #77736a;border-radius:100% 0 0 100%;transform:rotate(6deg)}.pipe-drawing span{position:absolute;right:1px;top:30px;width:47px;height:62px;border:4px double #77736a;border-radius:8px 8px 30px 30px}.tessera-drawing{display:grid;grid-template-columns:60px 53px;grid-template-rows:49px 57px;gap:5px;transform:rotate(7deg)}.tessera-drawing:before,.tessera-drawing span,.tessera-drawing i,.tessera-drawing b{content:"";border:1px solid #827867}.tessera-drawing span{background:var(--delft);opacity:.85}.tessera-drawing i{grid-row:2}.tessera-drawing b{grid-row:2;background:#c6b9a3}

.tides-section{background:var(--fog);padding:8rem 2.4rem}.tide-paper{max-width:1320px;margin:auto;display:grid;grid-template-columns:.8fr 1.2fr;background:var(--paper);box-shadow:17px 25px 0 rgba(48,47,43,.12);transform:rotate(-.35deg);border:1px solid rgba(79,69,55,.28)}.tide-paper-title{padding:5rem 4rem;border-right:1px solid var(--line);position:relative;overflow:hidden}.tide-paper h2{font-size:clamp(4rem,6.5vw,6.8rem)}.moon{position:absolute;width:250px;height:250px;border:1px solid rgba(48,47,43,.15);border-radius:50%;right:-90px;bottom:-80px}.moon:after,.moon:before{content:"";position:absolute;border:1px solid rgba(48,47,43,.13);border-radius:50%;inset:22px}.moon:after{inset:50px}.moon span{position:absolute;left:50%;top:50%;width:46%;height:46%;border-radius:50%;transform:translate(-50%,-50%);background:var(--deep);box-shadow:-18px 0 0 3px var(--paper)}
.tide-days{padding:2rem 2.5rem 0}.tide-row{display:grid;grid-template-columns:1fr 1fr .8fr 1.3fr;align-items:center;min-height:90px;border-bottom:1px solid var(--line);font:400 .72rem var(--mono)}.tide-row>span:not(:first-child){text-align:right}.tide-row b{font:500 1.9rem var(--display);margin-right:.7rem}.tide-labels{min-height:45px;font-size:.48rem;letter-spacing:.08em;text-transform:uppercase;color:#6c6a63}.tide-row.selected{color:var(--delft);position:relative}.tide-row.selected:before{content:"TODAY";position:absolute;left:-4rem;transform:rotate(-90deg);font:700 .46rem var(--mono);letter-spacing:.1em}.licence-note{grid-column:2;padding:2.4rem 2.5rem 3rem;display:grid;grid-template-columns:100px 1fr;gap:2rem}.licence-stamp{display:grid;place-items:center;border:2px solid var(--delft);color:var(--delft);width:86px;height:86px;border-radius:50%;font:700 .55rem/1.1 var(--mono);text-align:center;transform:rotate(-8deg);box-shadow:inset 0 0 0 4px var(--paper),inset 0 0 0 5px var(--delft)}.licence-stamp b{font-size:1.4rem}.licence-note h3{font:500 1.8rem var(--display);margin:0 0 .5rem}.licence-note p{font-size:.63rem;line-height:1.6;margin:0 0 1rem}.licence-note a{font:700 .55rem var(--mono);letter-spacing:.06em;text-transform:uppercase;text-underline-offset:4px}

.field-notes{display:grid;grid-template-columns:1fr 1fr;min-height:780px;background:var(--silt);color:var(--pipe)}.notes-photo{position:relative;overflow:hidden;min-height:660px;background:linear-gradient(160deg,rgba(28,34,32,.3),rgba(39,35,29,.1)),radial-gradient(ellipse at 35% 45%,#6d604f 0 8%,transparent 9%),radial-gradient(ellipse at 68% 72%,#2f302c 0 2%,transparent 2.4%),repeating-linear-gradient(165deg,#4b463c 0 7px,#554b3d 8px 15px)}.notes-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 60%,rgba(92,81,66,.9)),linear-gradient(0deg,rgba(35,37,34,.55),transparent 40%)}.rope{position:absolute;width:130%;height:300px;border:16px solid #83765d;border-radius:50%;left:-40%;top:27%;transform:rotate(29deg);box-shadow:inset 0 0 0 3px #39352c,0 8px 16px rgba(0,0,0,.25)}.chalk-mark{position:absolute;z-index:2;right:15%;top:17%;font:400 3rem/1 var(--mono);color:#d5d1c2;transform:rotate(8deg);text-align:center;opacity:.75}.bootprint{position:absolute;z-index:2;width:95px;height:190px;border:10px dashed rgba(30,31,29,.45);border-radius:45% 47% 35% 40%;transform:rotate(27deg);filter:blur(1px)}.print-one{left:25%;bottom:18%}.print-two{left:48%;bottom:47%;transform:rotate(18deg) scale(.9)}
.notes-copy{padding:8rem 9vw 7rem 7vw;align-self:center}.notes-copy h2{font-size:clamp(4rem,6.4vw,7rem);margin-bottom:3.2rem}.notes-copy h2 i{color:var(--fog-light)}.notes-copy>p:not(.folio){max-width:590px;font-size:.8rem;color:#ddd8ca;margin:0 0 1.4rem}.dropcap:first-letter{float:left;font:500 5.2rem/.75 var(--display);padding:.2rem .6rem .25rem 0;color:var(--pipe)}.signature{display:flex;align-items:center;gap:2rem;margin-top:3rem;border-top:1px solid rgba(255,255,255,.22);padding-top:1.6rem}.signature>span{font:italic 2.2rem var(--display)}.signature small{font:400 .5rem/1.6 var(--mono);letter-spacing:.06em}

.ethics{background:var(--fog-light);padding:9rem 2.4rem}.ethics-card{max-width:1320px;margin:auto;position:relative;display:grid;grid-template-columns:.9fr 1.1fr;background:var(--deep);color:var(--pipe);box-shadow:0 35px 80px rgba(46,45,40,.24);overflow:hidden}.ethics-main{padding:5.5rem 5rem}.folio.light{color:#b9bab4}.ethics h2{font-size:clamp(4.4rem,7vw,7.4rem)}.ethics h2 i{color:#7fb2b9}.ethics-main>p:last-child{font-size:.75rem;color:#c5c4bc;max-width:370px;margin-top:3rem}.ethics-steps{list-style:none;padding:2.5rem 4.5rem 2.5rem 0;margin:0;align-self:center}.ethics-steps li{display:grid;grid-template-columns:58px 1fr;gap:1.5rem;padding:2rem 0;border-bottom:1px solid rgba(255,255,255,.16)}.ethics-steps li>span{font:400 .7rem var(--mono);color:#79aab2}.ethics-steps h3{font:500 1.55rem var(--display);margin:0 0 .4rem}.ethics-steps p{font-size:.65rem;color:#bebdb6;margin:0;max-width:450px}.ethics-seal{position:absolute;right:-42px;top:-42px;width:150px;height:150px;border:1px solid rgba(255,255,255,.22);border-radius:50%;display:grid;place-items:center;transform:rotate(11deg)}.ethics-seal:before{content:"";position:absolute;inset:9px;border:1px dashed rgba(255,255,255,.22);border-radius:50%}.ethics-seal span{font:700 .46rem/1.45 var(--mono);letter-spacing:.12em;text-align:center;color:#94b9bc}

footer{background:#1f201e;color:#c7c7c0;padding:4rem 2.4rem 2.2rem;display:flex;align-items:flex-end;justify-content:space-between;gap:3rem}.footer-mark{display:flex;align-items:center;gap:1.5rem}.footer-mark>span{display:grid;place-items:center;width:74px;height:74px;border:1px solid #777;border-radius:50%;font:400 1.1rem var(--display)}.footer-mark p{font:italic 1.3rem/1.15 var(--display);margin:0}.footer-meta{display:flex;gap:1.5rem;align-items:center;font:400 .48rem var(--mono);letter-spacing:.05em;text-transform:uppercase}.footer-meta a{text-underline-offset:4px}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #95cad0;outline-offset:4px}

@media (max-width:1000px){
  .site-header{grid-template-columns:1fr auto}.site-header nav{display:none}.hero-copy{grid-template-columns:1fr;top:33%}.hero-deck{grid-column:1;margin-left:auto}.field-console{grid-template-columns:minmax(0,1fr) 270px}.section-intro{gap:3rem}.intro-copy{padding-left:2.5rem}.tide-console{grid-template-columns:1fr}.tide-paper-title{padding:4rem 2.5rem}.tide-days{padding:2rem 1.7rem 0}.licence-note{padding:2rem 1.7rem}.notes-copy{padding:7rem 5vw}.ethics-main{padding:5rem 3rem}.ethics-steps{padding-right:3rem}
}
@media (max-width:700px){
  body{font-size:15px}.grain{opacity:.12}.site-header{padding:.9rem 1rem}.wordmark svg{width:34px}.wordmark span{font-size:.55rem}.licence-chip{font-size:.5rem}.hero{height:820px;min-height:0}.hero-kicker{left:1rem;right:1rem;top:16%;font-size:.5rem}.hero-copy{left:1rem;right:1rem;top:27%}.hero-copy>.eyebrow{margin-bottom:2rem}.hero h1{font-size:clamp(4.1rem,23vw,6.3rem);line-height:.77;letter-spacing:-.06em}.hero-deck{grid-template-columns:1fr;max-width:85%;margin-top:3rem;gap:1.5rem}.hero-deck p{font-size:.72rem}.down-link{display:flex;width:auto;text-align:left}.down-link b{width:44px;height:44px}.low-water-mark{display:none}
  .foreshore-section,.strata,.tides-section,.ethics{padding:5.5rem 1rem}.section-intro{grid-template-columns:1fr;gap:2rem;padding-bottom:3rem}.section-intro h2,.strata h2,.tide-paper h2,.field-notes h2,.ethics h2{font-size:clamp(3.7rem,18vw,5.2rem)}.intro-copy{padding-left:1.2rem}.field-console{display:block;box-shadow:none}.tide-console{padding:1rem}.tide-readout{gap:.6rem}.tide-readout span{font-size:.43rem}.tide-readout strong{font-size:.72rem}.tide-slider-label{font-size:.43rem}.river-stage{height:660px;border-left:1px solid rgba(255,255,255,.2);border-right:1px solid rgba(255,255,255,.2)}.find{width:145px;height:108px}.find canvas{width:145px;height:108px}.find-pipe{--x:24%!important;--y:53%!important}.find-pin{--x:68%!important;--y:68%!important}.find-tessera{--x:72%!important;--y:38%!important}.find-penny{--x:24%!important;--y:80%!important}.pipe-shape{transform:translate(-55%,-50%) rotate(-16deg) scale(.8)}.brush-cursor{display:none}.finds-tray{min-height:290px;padding:1.5rem}.finds-tray h3{font-size:2rem}.tray-slots{grid-template-columns:1fr}.museum-label{min-height:90px}
  .strata-heading{grid-template-columns:1fr;margin-bottom:3rem}.strata-heading>p:last-child{justify-self:start}.layer{grid-template-columns:90px 1fr;min-height:0;padding:2.2rem 0}.layer:hover{padding:2.2rem .5rem}.layer-date span{font-size:1.5rem}.object-drawing{transform:scale(.62)}.penny-drawing{transform:scale(.62) rotate(9deg)}.tessera-drawing{transform:scale(.62) rotate(7deg)}.layer-copy{grid-column:1/-1;margin-top:1rem;grid-template-columns:1fr 1.4fr}.layer-copy h3{font-size:1.4rem}
  .tide-paper{display:block;transform:none;box-shadow:8px 12px 0 rgba(48,47,43,.12)}.tide-paper-title{padding:3rem 1.5rem;border-right:0;border-bottom:1px solid var(--line);min-height:330px}.tide-days{padding:1.2rem 1rem 0}.tide-row{grid-template-columns:1fr .9fr .7fr;font-size:.55rem;min-height:74px}.tide-row>span:nth-child(4){display:none}.tide-labels>span:nth-child(4){display:none}.tide-row b{font-size:1.3rem}.tide-row.selected:before{display:none}.licence-note{grid-column:auto;padding:2rem 1.2rem;grid-template-columns:72px 1fr;gap:1rem}.licence-stamp{width:68px;height:68px}.licence-note h3{font-size:1.4rem}
  .field-notes{grid-template-columns:1fr}.notes-photo{min-height:430px}.notes-copy{padding:5rem 1rem}.notes-copy h2{margin-bottom:2rem}.signature{align-items:flex-start}.ethics-card{display:block}.ethics-main{padding:4rem 1.5rem 2rem}.ethics-steps{padding:0 1.5rem 3rem}.ethics-steps li{grid-template-columns:40px 1fr;gap:1rem}.ethics-seal{width:115px;height:115px}.ethics-main>p:last-child{margin-top:2rem}
  footer{align-items:flex-start;flex-direction:column;padding:3rem 1rem 2rem}.footer-meta{display:grid;grid-template-columns:1fr 1fr;gap:1rem;font-size:.48rem}.footer-meta>span{grid-column:1/-1}.footer-mark>span{width:58px;height:58px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.fog,.water-sheet:after,.glint{animation:none!important}.load-reveal{opacity:1;transform:none}.loaded .load-reveal,.museum-label{animation:none!important}*{transition-duration:.01ms!important}}

/* Pass 1 refinements */
.find-code{position:absolute;z-index:7;left:13px;top:8px;padding:.18rem .34rem;background:rgba(38,39,35,.78);color:#9cc5c9;font:700 .46rem var(--mono);letter-spacing:.08em;opacity:0;transform:translateY(4px);transition:opacity .25s,transform .25s}.river-stage.workable .find-code{opacity:1;transform:none}
.strata{padding-bottom:7rem}
.tides-section{padding-top:6rem;padding-bottom:7rem}
.ethics{padding-top:7.5rem;padding-bottom:6rem}
footer{color:#d4d4cd;padding-top:3.6rem;padding-bottom:2.4rem}.footer-meta{gap:1.6rem;font-size:.56rem}
@media (min-width:701px) and (max-width:1000px){.site-header{grid-template-columns:1fr auto 1fr;padding-left:1.4rem;padding-right:1.4rem}.site-header nav{display:flex;gap:.6rem}.site-header nav a{font-size:.5rem}.hero{min-height:860px;height:88svh}}
@media (max-width:700px){.site-header{grid-template-columns:1fr auto;padding-top:.65rem;padding-bottom:.65rem}.wordmark,.licence-chip{min-height:44px}.strata{padding-bottom:4.5rem}.tides-section{padding-top:4.5rem;padding-bottom:5rem}.ethics{padding-top:5rem;padding-bottom:4rem}.lift-find{min-height:44px}.tide-row{grid-template-columns:1fr .9fr .7fr;min-height:94px;padding:.55rem 0}.tide-row>span:nth-child(4){display:block;grid-column:1/-1;text-align:left;margin-top:.35rem;color:#66635b;font-size:.48rem}.tide-row>span:nth-child(4):before{content:"WORKING WINDOW  ";font-weight:700;letter-spacing:.06em;color:var(--delft)}.tide-labels{min-height:40px;padding:0}.tide-labels>span:nth-child(4){display:none}.tide-row.selected>span:nth-child(4){color:var(--delft)}}

/* Pass 2 — the river becomes the instrument */
html{scroll-padding-top:1rem}
body{background:linear-gradient(90deg,#e4dece,#f1ecdd 18% 82%,#ddd6c6);text-rendering:optimizeLegibility}
button,a,input{touch-action:manipulation;-webkit-tap-highlight-color:rgba(49,125,140,.24)}
h1,h2,h3{text-wrap:balance}
.site-header{padding-inline:max(2.4rem,env(safe-area-inset-left));backdrop-filter:blur(3px);background:linear-gradient(180deg,rgba(37,39,37,.2),transparent)}
.wordmark,.primary-nav a,.down-link,.footer-meta a{min-height:44px;display:flex;align-items:center}
.hero{background:linear-gradient(180deg,#5f6766 0%,#9aa09d 31%,#6b6f6a 52%,#282b29 100%)}
.hero:before{content:"";position:absolute;z-index:4;inset:0;background:linear-gradient(90deg,rgba(21,24,23,.22),transparent 24% 78%,rgba(30,32,30,.12)),linear-gradient(180deg,transparent 72%,rgba(8,11,10,.3));pointer-events:none}
.hero-copy{top:29%;left:7.8vw;right:7.8vw;grid-template-columns:minmax(0,1fr) minmax(22rem,30rem)}
.hero h1{max-width:1220px;font-size:clamp(6rem,11.2vw,10.9rem);line-height:.69;letter-spacing:-.072em}
.hero h1 em{display:inline-block;margin-left:7vw;color:#e0e1d9}
.hero-deck{margin-top:4.5rem;border-top:1px solid rgba(244,241,231,.34);padding-top:1.25rem}
.hero-deck p{font-size:.9rem;line-height:1.72;color:#f0eee7}
.hero-margin-note{position:absolute;z-index:7;right:2.4rem;top:28%;display:grid;gap:.25rem;border-top:1px solid rgba(255,255,255,.5);padding-top:.55rem;width:150px;font:400 .5rem/1.5 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.76)}
.hero-margin-note b{font-size:.78rem;color:var(--pipe)}
.low-water-mark{right:-.25rem;bottom:12%}

.foreshore-section{padding-top:9rem;background:radial-gradient(ellipse at 72% 17%,rgba(75,94,92,.22),transparent 38%),linear-gradient(135deg,#232522,#302f2b 62%,#272722)}
.section-intro{position:relative;max-width:1380px;padding-bottom:5.25rem}
.section-intro:after{content:"EBB / 00:22";position:absolute;right:0;bottom:1.2rem;font:400 .52rem var(--mono);letter-spacing:.13em;color:#789ea2}
.section-intro h2{font-size:clamp(5rem,9vw,9rem)}
.intro-copy{font-size:.93rem;line-height:1.75;color:#d0cec3}
.instruction{font-size:.64rem!important}
.field-console{max-width:1380px;grid-template-columns:minmax(0,1fr) 370px;grid-template-rows:auto minmax(700px,76vh);border:1px solid rgba(232,226,210,.25);box-shadow:0 44px 100px rgba(0,0,0,.42),0 0 0 12px rgba(255,255,255,.018)}
.tide-console{position:relative;z-index:30;background:#353633;padding:1.55rem 1.8rem 1.3rem;border:0;border-bottom:1px solid rgba(255,255,255,.2)}
.tide-console:before{content:"TIDE INSTRUMENT / 83";position:absolute;right:1.8rem;top:-2rem;font:700 .5rem var(--mono);letter-spacing:.13em;color:#779da1}
.tide-readout span,.tide-slider-label,.tray-head{font-size:.58rem}
.tide-readout strong{font-size:1.08rem;font-variant-numeric:tabular-nums}
.tide-slider{height:14px;background:linear-gradient(90deg,#718b8b,#2f8492 43%,#e9e0c8 49% 51%,#2f8492 57%,#718b8b)}
.tide-slider::-webkit-slider-thumb{width:5px;height:38px;background:#f4f1e7;box-shadow:0 0 0 1px #262724,0 0 0 5px rgba(244,241,231,.16)}
.river-stage{min-height:700px;background:radial-gradient(ellipse at 16% 68%,rgba(24,27,25,.5),transparent 13%),radial-gradient(ellipse at 72% 73%,rgba(139,111,75,.35),transparent 22%),linear-gradient(161deg,#302d27 0%,#6d5944 42%,#3a342c 100%)}
.river-stage:after{content:"";position:absolute;z-index:1;inset:17% 0 0;background:repeating-linear-gradient(174deg,transparent 0 32px,rgba(227,209,177,.045) 34px,transparent 36px);pointer-events:none}
.silt-texture{opacity:.78;background-size:19px 17px,29px 23px,43px 31px;mix-blend-mode:multiply}
.far-bank{height:14%;background:#202321}.far-bank span{background:#333735}
.water-sheet{left:0;right:0;top:0;height:100%;transform:scaleY(var(--water-scale,.9));transform-origin:top;transition:none;background:linear-gradient(180deg,#647b7a 0%,#47696a 56%,#32565a 100%);box-shadow:0 13px 22px rgba(10,24,24,.5),0 4px 0 rgba(210,224,216,.3);will-change:transform}
.water-sheet:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(232,238,226,.1) 35%,transparent 70%),repeating-linear-gradient(176deg,transparent 0 38px,rgba(241,245,232,.14) 40px,transparent 43px)}
.water-caption{position:absolute;right:4.8rem;bottom:1.2rem;font:700 .5rem var(--mono);letter-spacing:.14em;color:rgba(255,255,255,.72)}
.tide-rule{z-index:8}
.water-warning{display:none}
.river-state{position:absolute;z-index:10;left:2rem;top:18%;width:min(360px,54%);padding:1rem 1.2rem 1.15rem;border-left:3px solid #d0bd91;background:rgba(34,37,34,.8);box-shadow:0 10px 28px rgba(0,0,0,.2);transition:background-color .45s,transform .45s,color .45s}
.river-state .state-index{font:700 .48rem var(--mono);letter-spacing:.12em;color:#c8b37e}
.river-state strong{display:block;margin:.35rem 0 .25rem;font:400 2rem/.98 var(--display)}
.river-state p{margin:0;color:#cfcec6;font-size:.67rem;line-height:1.5}
.river-state>i{display:block;height:2px;margin-top:.8rem;background:rgba(255,255,255,.16)}
.river-state>i b{display:block;width:100%;height:100%;background:#c8b37e;transform:scaleX(.12);transform-origin:left;transition:transform .32s ease}
.river-stage.workable .river-state{background:rgba(35,113,125,.92);border-left-color:#d9eef0;transform:translateY(-5px)}
.river-stage.workable .river-state .state-index,.river-stage.workable .river-state p{color:#e5f0ee}
.river-stage.workable .river-state>i b{background:#f0f2e8}
.find{filter:drop-shadow(0 15px 20px rgba(13,13,11,.25))}
.find:after{content:"";position:absolute;z-index:6;left:50%;top:50%;width:88px;height:88px;border:1px solid rgba(145,207,213,.0);border-radius:50%;transform:translate(-50%,-50%) scale(.6);transition:border-color .45s,transform .45s;pointer-events:none}
.river-stage.workable .find:after{border-color:rgba(145,207,213,.4);transform:translate(-50%,-50%) scale(1)}
.find canvas{z-index:3}
.artefact{z-index:2}
.glint{z-index:7;width:6px;height:6px;background:#dffbff;box-shadow:0 0 0 5px rgba(62,157,171,.3),0 0 24px 9px white}
.find-code{top:-.1rem;left:50%;transform:translate(-50%,7px);background:#236b77;color:#f0f5ef;padding:.28rem .48rem}
.river-stage.workable .find-code{transform:translate(-50%,0)}
.brush-find,.lift-find{position:absolute;z-index:10;left:50%;bottom:-1.35rem;min-height:44px;transform:translateX(-50%);border:1px solid rgba(255,255,255,.55);background:#262724;color:var(--pipe);padding:.58rem .8rem;white-space:nowrap;font:700 .5rem var(--mono);letter-spacing:.08em;text-transform:uppercase;transition:opacity .2s,background-color .2s,color .2s}
.brush-find{opacity:0;pointer-events:none}
.river-stage.workable .brush-find:not(:disabled),.brush-find:focus-visible{opacity:.9;pointer-events:auto}
.brush-find span,.lift-find span{color:#8bc5cd}
.brush-find:hover,.lift-find:hover{background:#e9e5d8;color:#262724}
.find.cleared .brush-find{opacity:0;pointer-events:none}
.find.cleared:after{border-color:rgba(225,244,244,.9);box-shadow:0 0 34px rgba(70,154,165,.25)}
.find.lifted{transform:translate(-50%,-115%) scale(.56) rotate(-4deg)}
.brush-cursor{left:0;top:0;width:38px;height:38px;transform:none;will-change:transform}
.river-stage.has-recovery:before{content:"RECORDED";position:absolute;z-index:22;inset:0;display:grid;place-items:center;background:rgba(37,113,125,.12);color:rgba(232,247,246,.75);font:700 clamp(2rem,6vw,5rem) var(--mono);letter-spacing:.22em;pointer-events:none;animation:recordFlash .8s ease both}
@keyframes recordFlash{0%{opacity:0}24%{opacity:1}100%{opacity:0}}
.finds-tray{padding:2rem;background-color:#e7dfcc;background-image:linear-gradient(90deg,rgba(92,81,66,.05) 1px,transparent 1px),repeating-linear-gradient(12deg,rgba(82,67,48,.04) 0 1px,transparent 1px 5px);background-size:28px 100%,auto}
.finds-tray:before{inset:14px}
.finds-tray h3{font-size:2.7rem;margin-top:1.8rem}
.tray-empty{font-size:.75rem;line-height:1.7}
.tray-rule{position:absolute;left:2rem;right:2rem;bottom:1.5rem;margin:0;padding-top:.7rem;border-top:1px solid rgba(92,81,66,.25);font:400 .46rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#6d6659}
.tray-slots{gap:1rem;margin-bottom:3rem}
.museum-label{padding:1.2rem 1rem 1rem 4.8rem;min-height:158px;background:#f3eddd;box-shadow:3px 4px 0 rgba(88,75,56,.1);transform:rotate(-.35deg)}
.museum-label:nth-child(even){transform:rotate(.45deg)}
.museum-label:before{left:.8rem;top:1.1rem;width:3.2rem;font-size:.54rem}
.museum-label:after{content:"";position:absolute;left:1.15rem;top:3.3rem;width:2rem;height:2rem;border-radius:50%;border:1px solid rgba(92,81,66,.3);box-shadow:inset 0 0 0 4px #f3eddd,inset 0 0 0 5px rgba(49,125,140,.45)}
.museum-label h4{font-size:1.3rem;margin-bottom:.5rem}
.museum-label p{font-size:.61rem;line-height:1.55}
.museum-label small{font-size:.5rem}
.museum-label dl{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin:.7rem 0 0;padding-top:.55rem;border-top:1px solid rgba(92,81,66,.2)}
.museum-label dl div{min-width:0}.museum-label dt{font:700 .42rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#317d8c}.museum-label dd{margin:0;font:400 .48rem/1.4 var(--mono);color:#5e594f;overflow-wrap:anywhere}

.section-intro,.layer,.tide-paper,.notes-copy,.ethics-card{opacity:0;transform:translateY(34px);transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1)}
.section-intro.is-revealed,.layer.is-revealed,.tide-paper.is-revealed,.notes-copy.is-revealed,.ethics-card.is-revealed{opacity:1;transform:none}
.layer:nth-child(2){transition-delay:.06s}.layer:nth-child(3){transition-delay:.12s}.layer:nth-child(4){transition-delay:.18s}
.strata{position:relative;background:linear-gradient(90deg,#ded6c4,#eee8d9 15% 85%,#d9d0bd);border-top:12px solid #252622}
.strata:before{content:"RECOVERED MATERIAL / CONTEXT BEFORE OBJECT";position:absolute;left:2.4rem;top:2rem;font:700 .48rem var(--mono);letter-spacing:.13em;color:#796f60}
.strata-heading>p:last-child{font-size:.92rem;line-height:1.75}
.layer{border-left:0 solid var(--delft)}
.layer:hover{padding:0 1rem;border-left-width:5px;background:rgba(255,255,255,.38)}
.layer-copy p{font-size:.78rem;line-height:1.75;color:#514f48}
.tides-section{position:relative;overflow:hidden;background:radial-gradient(circle at 7% 16%,transparent 0 90px,rgba(48,47,43,.12) 91px 92px,transparent 93px 124px,rgba(48,47,43,.1) 125px 126px,transparent 127px),linear-gradient(135deg,#a9b2b0,#c3c8c4)}
.tide-row{font-variant-numeric:tabular-nums}
.licence-note p{font-size:.72rem;line-height:1.72}
.notes-copy>p:not(.folio){font-size:.88rem;line-height:1.78;color:#eee9dc}
.ethics-main>p:last-child{font-size:.84rem;line-height:1.75;color:#d4d2c9}
.ethics-steps p{font-size:.74rem;line-height:1.65;color:#d0cec7}
.ethics-steps h3{font-size:1.75rem}
.footer-meta a:hover{color:#a8d3d7}

@media (max-width:1000px){
  .hero-margin-note{display:none}
  .hero-copy{grid-template-columns:1fr}
  .hero h1 em{margin-left:4vw}
  .hero-deck{width:min(52vw,430px);max-width:none;margin-left:0;justify-self:end;grid-template-columns:minmax(0,1fr) auto}
  .field-console{grid-template-columns:minmax(0,1fr) 290px;grid-template-rows:auto 680px}
  .river-state{width:min(310px,55%)}
  .museum-label{padding-left:4.2rem}
  .museum-label dl{grid-template-columns:1fr}
}

@media (max-width:700px){
  .site-header{display:grid;grid-template-columns:1fr auto;grid-template-rows:54px 46px;padding:.35rem max(1rem,env(safe-area-inset-left)) 0;background:rgba(37,39,36,.38);backdrop-filter:blur(8px)}
  .site-header .primary-nav{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid rgba(255,255,255,.18)}
  .site-header .primary-nav a{justify-content:center;padding:.4rem .2rem;font-size:.43rem;border-right:1px solid rgba(255,255,255,.14);text-align:center}
  .site-header .primary-nav a:last-child{border-right:0}
  .hero{height:880px}
  .hero-kicker{top:15.5%;gap:1rem}.hero-kicker span:last-child{text-align:right}
  .hero-copy{top:26%;left:1rem;right:1rem}
  .hero-copy>.eyebrow{font-size:.56rem;max-width:280px}
  .hero h1{font-size:clamp(4.35rem,22vw,5.5rem);line-height:.74}
  .hero h1 em{margin-left:0}
  .hero-deck{width:100%;max-width:340px;margin:2.25rem 0 0;justify-self:start;grid-template-columns:1fr;padding-top:1rem}
  .hero-deck p{font-size:.78rem;line-height:1.7}
  .foreshore-section{padding-top:6.5rem}
  .section-intro:after{bottom:.8rem}
  .section-intro h2{font-size:clamp(4rem,20vw,5.4rem)}
  .intro-copy{font-size:.82rem;padding-left:1rem}
  .field-console{display:block;border:1px solid rgba(255,255,255,.18)}
  .tide-console{padding:1.1rem .8rem 1rem}
  .tide-console:before{right:.8rem;top:-1.7rem}
  .tide-readout{grid-template-columns:1fr 1fr 1.1fr}
  .tide-readout span{font-size:.42rem}.tide-readout strong{font-size:.75rem}
  .tide-slider{height:18px}
  .river-stage{height:700px;min-height:0}
  .river-state{left:.75rem;top:16%;width:246px;padding:.8rem .9rem}
  .river-state strong{font-size:1.55rem}.river-state p{font-size:.61rem}
  .water-caption{right:3.5rem;font-size:.42rem}
  .find{width:150px;height:110px}
  .find canvas{width:150px;height:110px}
  .find:after{width:70px;height:70px}
  .find-code{font-size:.42rem}
  .finds-tray{min-height:330px;padding:1.5rem}
  .finds-tray h3{font-size:2.35rem}
  .tray-rule{position:static;margin-top:2rem}
  .museum-label{min-height:156px;padding-left:4.35rem}
  .museum-label dl{grid-template-columns:1fr 1fr}
  .strata:before{left:1rem;top:1.4rem;font-size:.4rem}
  .layer-copy p{font-size:.72rem}
  .notes-copy>p:not(.folio){font-size:.82rem}
  .ethics-main>p:last-child{font-size:.8rem}
  .ethics-steps p{font-size:.72rem}
  footer{padding-bottom:max(2rem,env(safe-area-inset-bottom))}
}

@media (hover:none),(pointer:coarse){
  .river-stage.workable .brush-find:not(:disabled){opacity:.9;pointer-events:auto}
}

@media (prefers-reduced-motion:reduce){
  .section-intro,.layer,.tide-paper,.notes-copy,.ethics-card{opacity:1;transform:none;transition:none}
  .water-sheet{will-change:auto}
  .river-stage.has-recovery:before{animation:none;display:none}
}

/* Pass 3 — raking light, retained context, contact print */
html{scrollbar-color:var(--delft) var(--deep);scrollbar-width:thin}
html::-webkit-scrollbar{width:10px}
html::-webkit-scrollbar-track{background:var(--deep)}
html::-webkit-scrollbar-thumb{background:var(--delft);border:3px solid var(--deep)}
body{font-kerning:normal;font-synthesis:none}
h1,h2,h3,.layer-date span,.footer-mark p{font-optical-sizing:auto}
.tide-readout strong,.tide-row,.tray-head,.find-code,.contact-register{font-variant-numeric:tabular-nums slashed-zero}
button{cursor:pointer}
button:disabled{cursor:not-allowed}

.js .hero-river{opacity:.18;transform:scale(1.025)}
.loaded .hero-river{animation:riverResolve 1.9s .08s cubic-bezier(.16,1,.3,1) both}
.loaded .hero:after{animation:darkWaterResolve 1.65s .12s cubic-bezier(.16,1,.3,1) both}
@keyframes riverResolve{to{opacity:1;transform:none}}
@keyframes darkWaterResolve{from{opacity:.25;transform:translateY(3%)}to{opacity:1;transform:none}}

.wordmark,.licence-note a,.guide-header>a:last-child{transition:color .28s ease,opacity .28s ease}
.wordmark:hover,.wordmark:focus-visible,.licence-note a:hover,.licence-note a:focus-visible{color:#9fd0d5}
.primary-nav a:focus-visible:after{right:.2rem}
.tide-slider:hover{filter:brightness(1.12)}
.tide-row:not(.tide-labels){transition:background-color .25s ease,padding .25s ease}
.tide-row:not(.tide-labels):hover{background:rgba(49,125,140,.065);padding-inline:.45rem}

.raking-light{position:absolute;z-index:2;inset:14% 0 0;pointer-events:none;opacity:.08;background:radial-gradient(ellipse 250px 135px at var(--light-x,52%) var(--light-y,58%),rgba(244,241,231,.48) 0,rgba(168,203,198,.2) 34%,transparent 72%);mix-blend-mode:screen;transition:opacity .6s ease}
.raking-light:before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 0 43%,rgba(224,235,225,.08) 46%,transparent 51%);transform:translateX(-42%);transition:transform 1.2s cubic-bezier(.16,1,.3,1)}
.raking-light span{position:absolute;right:4.8rem;bottom:3rem;font:700 .44rem var(--mono);letter-spacing:.14em;color:rgba(225,245,242,.72);opacity:0;transform:translateY(5px);transition:opacity .4s,transform .4s}
.river-stage.workable .raking-light{opacity:.86}
.river-stage.workable .raking-light:before{transform:translateX(42%)}
.river-stage.workable .raking-light span{opacity:1;transform:none}

.find.lifted{opacity:1;transform:translate(-50%,-50%);filter:none;pointer-events:none}
.find.lifted .artefact,.find.lifted canvas,.find.lifted .glint{animation:objectToTray .88s cubic-bezier(.22,1,.36,1) forwards}
.find.lifted .brush-find,.find.lifted .lift-find{display:none}
.find.lifted .find-code{top:50%;left:50%;width:max-content;opacity:.82;transform:translate(-50%,28px);background:rgba(40,43,39,.58);color:#b6d9d9;border-top:1px solid rgba(160,213,216,.5)}
.find.lifted:before{content:"CONTEXT / RETAINED";position:absolute;z-index:4;left:50%;top:50%;width:92px;height:64px;display:grid;place-items:center;border:1px dashed rgba(181,216,213,.55);border-radius:50%;transform:translate(-50%,-50%) rotate(-7deg);color:rgba(225,238,231,.63);font:700 .39rem var(--mono);letter-spacing:.1em;text-align:center;box-shadow:0 0 0 9px rgba(65,115,112,.06)}
.find.lifted:after{border-color:rgba(179,218,216,.24);transform:translate(-50%,-50%) scale(1.15)}
@keyframes objectToTray{0%{opacity:1;translate:0 0;scale:1;rotate:0deg}55%{opacity:.88}100%{opacity:0;translate:0 -78px;scale:.56;rotate:-4deg}}

.contact-register{position:relative;margin:1.25rem 0 1.4rem;padding-top:.75rem;border-top:1px solid rgba(92,81,66,.3);border-bottom:1px solid rgba(92,81,66,.25)}
.contact-register-head{display:flex;justify-content:space-between;gap:1rem;margin-bottom:.65rem;font:700 .42rem/1.4 var(--mono);letter-spacing:.08em;color:#625d53}
.contact-register-head b{color:var(--delft);text-align:right}
.contact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}
.contact-cell{position:relative;min-width:0;height:86px;overflow:hidden;background:#d3cbbb;color:#7a7264;border:1px solid rgba(92,81,66,.18);transition:background-color 1.1s cubic-bezier(.16,1,.3,1),color .8s,box-shadow .8s}
.contact-cell:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(174deg,transparent 0 8px,rgba(255,255,255,.1) 9px,transparent 10px);opacity:0;transition:opacity .8s}
.contact-cell small,.contact-cell>b{position:absolute;z-index:2;left:.36rem;font:700 .36rem var(--mono);letter-spacing:.03em}
.contact-cell small{top:.32rem}.contact-cell>b{bottom:.27rem;font-size:.45rem}
.contact-cell i{position:absolute;z-index:2;left:50%;top:47%;display:block;width:34px;height:34px;transform:translate(-50%,-50%);opacity:.18;transition:opacity .8s,transform 1s cubic-bezier(.16,1,.3,1)}
.contact-pipe i:before{content:"";position:absolute;left:0;top:15px;width:28px;height:5px;border:2px solid currentColor;border-radius:100% 2px 2px 100%;transform:rotate(-12deg)}
.contact-pipe i:after{content:"";position:absolute;right:0;top:7px;width:10px;height:17px;border:3px double currentColor;border-radius:3px 3px 8px 8px}
.contact-pin i:before{content:"";position:absolute;left:1px;top:16px;width:34px;height:1px;background:currentColor;transform:rotate(19deg)}
.contact-pin i:after{content:"";position:absolute;left:1px;top:10px;width:8px;height:8px;border:2px double currentColor;border-radius:50%}
.contact-tessera i{background:linear-gradient(90deg,currentColor 0 46%,transparent 46% 54%,currentColor 54%),linear-gradient(0deg,currentColor 0 46%,transparent 46% 54%,currentColor 54%);transform:translate(-50%,-50%) rotate(7deg)}
.contact-penny i{width:30px;height:30px;border:2px double currentColor;border-radius:50%;box-shadow:inset 0 0 0 4px transparent,inset 0 0 0 5px currentColor}
.contact-cell.developed{background:#2f5559;color:#e5eee8;box-shadow:inset 0 0 28px rgba(16,29,29,.52)}
.contact-cell.developed:after{opacity:1}
.contact-cell.developed i{opacity:.86;transform:translate(-50%,-50%) scale(1.08) rotate(var(--contact-rotation,0deg))}
.contact-register>p{margin:.55rem 0 .65rem;color:#686155;font:400 .4rem/1.45 var(--mono);letter-spacing:.045em;text-transform:uppercase}
.contact-register.is-fixed{border-color:var(--delft)}
.contact-register.is-fixed:after{content:"FIXED";position:absolute;right:.3rem;bottom:.4rem;color:rgba(49,125,140,.42);font:700 1.3rem var(--mono);letter-spacing:.08em;transform:rotate(-7deg)}

@media(max-width:1000px){
  .contact-cell{height:74px}
  .contact-register-head{display:grid;gap:.2rem}
  .contact-register-head b{text-align:left}
}
@media(max-width:700px){
  .raking-light{background:radial-gradient(ellipse 180px 120px at var(--light-x,55%) var(--light-y,54%),rgba(244,241,231,.48),rgba(168,203,198,.16) 42%,transparent 74%)}
  .raking-light span{right:3.2rem;bottom:1.2rem;font-size:.38rem}
  .contact-register{margin-top:1rem}
  .contact-cell{height:82px}
  .contact-register-head{display:flex}.contact-register-head b{text-align:right}
  .tide-row:not(.tide-labels):hover{padding-inline:0}
}
@media(prefers-reduced-motion:reduce){
  .loaded .hero-river,.loaded .hero:after,.find.lifted .artefact,.find.lifted canvas,.find.lifted .glint{animation:none!important}
  .js .hero-river{opacity:1;transform:none}
  .find.lifted .artefact,.find.lifted canvas,.find.lifted .glint{opacity:0}
  .raking-light{--light-x:54%;--light-y:55%;transition:none}
  .raking-light:before,.contact-cell,.contact-cell i{transition:none}
}
