.shore-heading {padding:46px 0 35px; background:radial-gradient(ellipse at 85% 50%,#7ea08b22,transparent 65%)}
.shore-heading h1 {font-size:clamp(52px,7.2vw,88px);max-width:900px}
.shore-heading>p {font-size:18px;max-width:530px;margin-top:25px;color:#e4dbbd}
.paper-story {background:var(--paper);color:var(--ink);padding:80px 0;position:relative}
.paper-story:before {content:"";height:10px;position:absolute;left:0;right:0;top:-5px;background:var(--paper);clip-path:polygon(0 40%,8% 10%,17% 50%,23% 20%,38% 60%,49% 10%,62% 60%,75% 20%,83% 50%,96% 10%,100% 50%,100% 100%,0 100%)}
.story-pair {display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}
.story-pair h2 {font-size:clamp(35px,4.3vw,56px);margin-bottom:24px}
.story-pair em {color:#477160}
.story-pair p {max-width:420px;margin:15px 0}
.story-pair .ink-link {display:inline-block;margin-top:20px;color:var(--ink)}
.next-shore {display:flex;align-items:center;justify-content:space-between;padding:48px 0;text-decoration:none;font:26px/1.2 var(--serif);color:var(--gold);gap:20px}
.next-shore:hover {color:var(--cream)}
.next-shore>span:last-child {font-family:system-ui;font-size:32px}
.pet-meadow {display:grid;grid-template-columns:repeat(3,1fr);gap:35px;padding-bottom:80px;background:radial-gradient(ellipse at 50% 65%,#6b9b7b22,transparent 66%)}
.pet-meadow figure {text-align:center}
.pet-meadow img {width:100%;margin:auto;filter:drop-shadow(0 18px 15px #0003);transition:transform .4s ease}
.pet-meadow figure:hover img {transform:translateY(-9px) rotate(-2deg)}
.pet-meadow h2 {font-size:31px;margin:5px 0 12px}
.pet-meadow p {font-size:14px;max-width:230px;margin:auto;color:#ded8bd}
.practice {display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:40px;padding:0 0 80px}
.practice-copy h2 {font-size:38px;margin:0 0 20px}
.practice-copy p {color:#ded8bd}
.practice .plank {display:inline-block;min-width:180px;margin:26px 0 15px;border:0;color:var(--ink)}
.practice .plank:disabled {opacity:.75;cursor:default}
#cast-status {font-size:14px;min-height:3.5em;max-width:300px}
.practice-pool {height:390px;position:relative;overflow:hidden;border-radius:47% 53% 44% 56% / 49% 42% 58% 51%;background:radial-gradient(ellipse at 50% 55%,#122b47 10%,#275b66 65%,#7a8b6b 67%,#b7ba8a 69%,#284d43 72%);box-shadow:0 30px 70px #0003,inset 0 0 70px #0a233d}
.pool-glow {position:absolute;inset:18%;background:radial-gradient(ellipse,#628b9744,transparent 65%);animation:pool-drift 8s ease-in-out infinite alternate}
.swimmer {position:absolute;display:block;width:45px;height:16px;border-radius:70% 30% 30% 70%;background:#9fb7a54d;transform:rotate(-20deg)}
.swimmer:after {content:"";position:absolute;right:-12px;top:-4px;border-right:14px solid #9fb7a54d;border-top:12px solid transparent;border-bottom:12px solid transparent}
.swimmer-one {top:40%;left:30%;animation:pool-drift 6s ease-in-out infinite alternate}
.swimmer-two {top:64%;left:56%;transform:scale(.7) rotate(170deg);animation:pool-drift 9s ease-in-out infinite alternate-reverse}
.swimmer-three {top:28%;left:57%;transform:scale(.6) rotate(-15deg)}
#float {display:none;position:absolute;top:42%;left:48%;width:15px;height:24px;border-radius:45%;background:linear-gradient(#d78065 50%,#f2dfb0 50%);box-shadow:0 7px 12px #0006;animation:bob 2.6s ease-in-out infinite}
.practice-pool.casting #float {display:block}
.practice-pool.bite #float {animation:bite .4s ease-in-out infinite}
.water-ring {position:absolute;top:40%;left:42%;height:45px;width:90px;border:1px solid #b7d3b847;border-radius:50%;opacity:.3;animation:ripple 5s ease-out infinite}
.ring-two {animation-delay:2.5s}
.postcards {display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin:35px 0}
.postcards a {background:var(--cream);padding:12px 12px 17px;text-decoration:none;transform:rotate(-1.5deg);box-shadow:2px 8px 20px #25362e18}
.postcards a:nth-child(2) {transform:rotate(1.5deg)}
.postcards img {aspect-ratio:1.5;object-fit:cover;margin-bottom:15px}
.postcards span {font:14px var(--hand)}
.press-shelf>h2,.journal-entry h2 {font-size:49px;margin-bottom:20px}
.press-shelf>p {margin:18px 0}
.press-links {display:flex;gap:30px;flex-wrap:wrap;margin:28px 0}
.journal-entry {max-width:750px;padding:0 20px}
.journal-entry>p {max-width:540px;margin:23px 0}
.entry-date {font-size:13px;color:#50695a}
@keyframes pool-drift {to {translate:15px -8px}}
@keyframes bob {50% {translate:0 5px}}
@keyframes bite {50% {translate:0 12px}}
@keyframes ripple {from {scale:.5;opacity:.3}to {scale:2.3;opacity:0}}
@media(max-width:900px){.top nav{gap:15px}.brand img{width:160px}.story-pair{gap:30px}}
@media(max-width:700px){.top{flex-wrap:wrap;justify-content:center;gap:16px}.top nav{flex-wrap:wrap;justify-content:center;gap:12px 20px}.shore-heading{padding:40px 0}.story-pair,.practice{grid-template-columns:1fr}.story-pair{gap:40px}.paper-story{padding:50px 0}.pet-meadow{grid-template-columns:1fr;gap:40px}.pet-meadow img{width:260px}.pet-meadow p{max-width:300px}.postcards{grid-template-columns:1fr}.practice-pool{height:310px;grid-row:1}.next-shore{font-size:22px}.shore-heading h1{font-size:51px}}
@media(prefers-reduced-motion:reduce){.pool-glow,.swimmer,#float,.water-ring{animation:none!important}.pet-meadow img{transition:none}}
