﻿:root{--deep:#082d3b;--sea:#16606d;--foam:#e7f1ed;--sand:#d9c9a8;--chalk:#f8f5ea;--rust:#c85538;--ink:#13282c;--line:rgba(19,40,44,.23)}
*{box-sizing:border-box}html,body{max-width:100%;overflow-x:hidden}body{margin:0;background:var(--chalk);color:var(--ink);font-family:Arial,sans-serif}a{color:inherit;text-decoration:none}h1,h2,h3,p,strong,address{overflow-wrap:anywhere}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,serif;font-weight:500;line-height:1.02}h1{font-size:clamp(50px,7.6vw,110px)}h2{font-size:clamp(36px,4.8vw,66px)}h3{font-size:27px}p{line-height:1.65}
.tideHeader{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:28px;padding:17px clamp(18px,5vw,74px);background:var(--deep);color:var(--foam);border-bottom:1px solid rgba(255,255,255,.25)}.horizonName{font:700 25px Georgia,serif}.weatherIndex{display:flex;gap:22px;font-size:11px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.stationCode{padding-left:22px;border-left:1px solid rgba(255,255,255,.35);font-size:11px;text-transform:uppercase}
.coastalOpening{display:grid;grid-template-columns:70px minmax(0,1fr) minmax(260px,340px);min-height:690px;background:var(--deep);color:var(--foam)}.currentSwirls{display:flex;flex-direction:column;justify-content:space-around;align-items:center;padding:34px 0;border-right:1px solid rgba(255,255,255,.22);overflow:hidden}.currentSwirls i{position:relative;display:block;width:34px;height:34px;border:2px solid rgba(231,241,237,.7);border-right-color:transparent;border-radius:50%;transform:rotate(-28deg)}.currentSwirls i:after{content:"";position:absolute;left:8px;top:8px;width:13px;height:13px;border:2px solid var(--rust);border-left-color:transparent;border-radius:50%}.currentSwirls i:nth-child(2n){transform:rotate(42deg) scale(.78)}.currentSwirls i:nth-child(3){transform:rotate(-70deg) scale(1.15)}.openingCopy{align-self:end;padding:clamp(45px,7vw,100px)}.openingCopy>p:last-child{max-width:780px;color:rgba(231,241,237,.75);font-size:18px}.saltTag{margin-bottom:14px;color:var(--rust);font-size:11px;font-weight:900;letter-spacing:.17em;text-transform:uppercase}.stationPlate{align-self:center;margin-right:clamp(18px,5vw,70px);padding:28px;background:var(--sand);color:var(--ink);box-shadow:12px 12px 0 var(--rust)}.stationPlate b{display:block;margin-bottom:20px;font:700 27px Georgia,serif}.stationPlate a,.returnTide{display:inline-flex;align-items:center;justify-content:center;min-height:45px;padding:10px 15px;background:var(--deep);color:white;font-weight:900}
.photoZone{position:relative;height:clamp(300px,38vw,520px);min-height:0;overflow:hidden}.photoZone img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center}.horizonPhoto,.detailPhoto,.notebookPhoto{display:flex;flex-direction:column;justify-content:flex-end;padding:30px;color:white}.horizonPhoto{background:linear-gradient(0deg,rgba(8,45,59,.88),rgba(22,96,109,.2)),repeating-linear-gradient(170deg,#628e92 0 38px,#7ca1a0 39px 78px)}.photoZone span{font-size:11px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.photoZone p{max-width:700px;margin:10px 0 0;font:500 clamp(27px,4vw,53px)/1.05 Georgia,serif}
.indexLedger{padding:clamp(48px,7vw,98px)}.indexLedger header{display:grid;grid-template-columns:.45fr 1.55fr;gap:35px}.ledgerLines{margin-top:38px;border-top:2px solid var(--ink)}.ledgerLines article{display:grid;grid-template-columns:65px 180px 1fr 220px;gap:24px;align-items:baseline;padding:24px 0;border-bottom:1px solid var(--line)}.ledgerLines b{color:var(--rust)}.ledgerLines h3,.ledgerLines p{margin-bottom:0}.ledgerLines em{font-size:13px;color:var(--sea)}
.doubleObservation{display:grid;grid-template-columns:1.2fr .8fr;background:var(--sand)}.detailPhoto{background:linear-gradient(40deg,rgba(200,85,56,.78),rgba(8,45,59,.45)),repeating-linear-gradient(90deg,#889b93 0 26px,#a8afa0 27px 52px)}.observationNote{align-self:center;padding:clamp(35px,6vw,82px)}
.fieldNotebook{display:grid;grid-template-columns:.65fr 1.35fr;gap:50px;padding:clamp(48px,7vw,98px);background:var(--foam)}.fieldNotebook ol{margin:0;padding:0;list-style:none}.fieldNotebook li{display:grid;grid-template-columns:110px 1fr;gap:20px;padding:20px 0;border-top:1px solid var(--line)}.fieldNotebook span{font-weight:900;color:var(--sea)}.notebookPhoto{grid-column:1/-1;background:linear-gradient(0deg,rgba(8,45,59,.8),rgba(217,201,168,.18)),repeating-linear-gradient(0deg,#a8b6aa 0 34px,#bdc5b4 35px 68px)}
.readingTable{display:grid;grid-template-columns:.55fr 1.45fr;gap:50px;padding:clamp(48px,7vw,98px);background:var(--sea);color:white}.tableCurrent{overflow-x:auto}table{width:100%;min-width:650px;border-collapse:collapse}th,td{padding:17px;text-align:left;vertical-align:top;border-bottom:1px solid rgba(255,255,255,.28)}th{color:#f0b29f;font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.salineContact{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(30px,6vw,85px);padding:clamp(48px,7vw,98px);background:var(--sand)}.salineContact address{font-style:normal;font-weight:900;line-height:1.7}.stationForm{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:30px;background:var(--chalk);border-top:8px solid var(--rust)}.stationForm label{display:grid;gap:8px;color:var(--sea);font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.stationForm label:nth-child(4),.stationForm button{grid-column:1/-1}.stationForm input,.stationForm select,.stationForm textarea{width:100%;padding:13px;border:1px solid var(--line);background:white;font:inherit}.stationForm button{min-height:48px;border:0;background:var(--deep);color:white;font:inherit;font-weight:900}
.salineFooter{display:flex;flex-wrap:wrap;justify-content:space-between;gap:18px;padding:28px clamp(18px,5vw,74px);background:#031c26;color:rgba(255,255,255,.78)}.salineFooter strong{max-width:790px}.salineFooter nav{display:flex;flex-wrap:wrap;gap:18px}.salineFooter small{flex-basis:100%;color:rgba(255,255,255,.55)}
.registryBody{min-height:100vh;background:var(--sand)}.registryPaper,.thanksRegistry{width:min(930px,calc(100% - 32px));margin:clamp(24px,6vw,72px) auto;padding:clamp(28px,6vw,72px);background:var(--chalk);border-left:10px solid var(--sea);box-shadow:14px 14px 0 var(--rust)}.registryPaper h1,.thanksRegistry h1{font-size:clamp(45px,7vw,82px)}.registryPaper h2,.registryCoordinates h2{margin-top:34px;font-size:clamp(25px,3vw,38px)}.returnTide{margin-bottom:28px}.registryCoordinates{margin-top:38px;padding:24px;background:var(--foam);border-top:4px solid var(--rust)}.thanksRegistry{min-height:560px;display:flex;flex-direction:column;justify-content:center}.thanksRegistry>.returnTide{align-self:flex-start}
.tideConsent{position:fixed;left:18px;bottom:18px;z-index:5000;width:min(520px,calc(100% - 36px));padding:20px;background:var(--deep);color:white;border-left:8px solid var(--rust);box-shadow:0 18px 55px rgba(0,0,0,.35)}.tideConsent p{margin-bottom:12px}.tideConsent div{display:flex;flex-wrap:wrap;gap:8px}.tideConsent button,.tideConsent a{padding:9px 12px;border:1px solid white;background:transparent;color:white;font:inherit;font-weight:900}.tideConsent button:first-child{background:var(--rust);border-color:var(--rust)}
@media(max-width:930px){.weatherIndex,.stationCode{display:none}.tideHeader{grid-template-columns:1fr}.coastalOpening{grid-template-columns:45px 1fr}.stationPlate{grid-column:2;margin:0 24px 50px}.indexLedger header,.doubleObservation,.fieldNotebook,.readingTable,.salineContact{grid-template-columns:1fr}.ledgerLines article{grid-template-columns:50px 150px 1fr}.ledgerLines em{grid-column:3}.fieldNotebook{gap:20px}}
@media(max-width:620px){h1{font-size:43px}h2{font-size:32px}.coastalOpening{grid-template-columns:1fr;min-height:0}.currentSwirls{display:none}.openingCopy{padding:55px 18px}.stationPlate{grid-column:auto;margin:0 18px 45px}.indexLedger,.fieldNotebook,.readingTable,.salineContact{padding-left:18px;padding-right:18px}.ledgerLines article{grid-template-columns:40px 1fr}.ledgerLines p,.ledgerLines em{grid-column:2}.fieldNotebook li{grid-template-columns:85px 1fr}.stationForm{grid-template-columns:1fr}.stationForm label:nth-child(4),.stationForm button{grid-column:auto}.salineFooter{flex-direction:column}.tideConsent div{flex-direction:column}.tideConsent button,.tideConsent a{text-align:center}}
