/* One shared frame keeps the logbook aligned at every screen size. */
:root{--site-width:1600px;--site-gutter:clamp(24px,4vw,64px);--section-gap:24px}
header,footer,main>.identity-hero,main>.logbook-divider,main>.fishing-outlook,main>.tide-panel,main>.firstlight-promo,main>.section,main>.kayak-story,main>.penn-gear,main>.join{width:calc(100% - var(--site-gutter)*2);max-width:var(--site-width);margin-left:auto;margin-right:auto}
header{height:80px}
main>.identity-hero{padding:12px 32px 28px}
.identity-mark{width:min(520px,65vw);margin:14px auto 0}
.identity-hero h1{font-size:clamp(42px,6.6vw,88px);margin:12px 0 8px}
.identity-bottom{grid-template-columns:1fr 1fr 190px;margin-top:24px;min-height:175px;gap:24px}
.pinned-catch{max-width:190px;margin:-20px 0 0}.pinned-catch button{height:158px}.pinned-catch figcaption{font-size:17px}
main>.logbook-divider{padding:14px 32px}
main>.fishing-outlook,main>.tide-panel,main>.firstlight-promo,main>.section,main>.kayak-story,main>.penn-gear,main>.join{margin-top:var(--section-gap);margin-bottom:0;border:1px solid var(--border);border-radius:3px}
main>.fishing-outlook,main>.tide-panel,main>.section{padding:30px 32px}
.section-heading{margin-bottom:24px}.section-heading .eyebrow{margin-bottom:10px}.section-heading h2{font-size:38px}
.outlook-headline{margin:18px 0 24px}.outlook-headline h2{font-size:36px}.outlook-headline h2 em{font-size:46px}
.tide-heading h2{font-size:32px}.tide-heading h2 em{font-size:42px}.tide-days{margin:22px 0}
.weather-deck{align-items:stretch}.weather-day{display:flex;flex-direction:column}.weather-day .card-fishing-window{margin-top:auto;min-height:56px}.day-reason{min-height:40px}
main>.firstlight-promo{padding:28px 40px;gap:36px;grid-template-columns:minmax(0,1fr) 220px}
.firstlight-wordmark{margin:16px 0}.firstlight-copy h2{font-size:32px}.firstlight-copy h2 em{font-size:42px}
.firstlight-copy>p:not(.eyebrow){max-width:650px;margin-top:14px}.firstlight-features{margin:16px 0}.firstlight-preview{max-width:175px;transform:rotate(3deg)}.firstlight-preview figcaption{margin-top:12px}
.featured{grid-template-columns:1.2fr 1fr}.featured-image{aspect-ratio:16/9}.featured-copy{padding:24px 28px}.featured-copy h3{font-size:32px;margin:14px 0}.featured-copy>.text-link{margin-top:18px}
.shorts-grid,.stream-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.short-card,.stream-card{display:flex;flex-direction:column;min-width:0;border-bottom:1px solid var(--border);padding-bottom:16px}
.short-card .video-image,.stream-card .video-image{aspect-ratio:16/9;flex:none}.short-card h4,.stream-card h3{min-height:42px}.card-link{margin-top:auto;align-self:flex-start}.media-meta{margin:12px 0 8px}
.stream-intro>p{max-width:650px}.filters{margin:22px 0}.stream-footer{margin-top:24px;padding-top:18px}
/* Keep the entire kayak portrait visible instead of cropping it as a background. */
main>.kayak-story{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center;padding:0;min-height:0;overflow:hidden;background:#101011}
.kayak-scene{position:static;grid-column:2;grid-row:1;width:100%;height:auto;object-fit:contain;object-position:center}
.kayak-story:after{display:none}.kayak-copy{grid-column:1;grid-row:1;width:auto;max-width:none;padding:28px 32px}.kayak-copy h2{font-size:34px;margin:18px 0}.kayak-copy h2 em{font-size:46px}.kayak-copy>.handwritten{margin-top:22px}.kayak-caption{right:18px;bottom:12px;font-size:6px}
main>.penn-gear{padding:22px 32px;gap:24px}.penn-logo{width:100px}.penn-gear h2{font-size:21px}
main>.join{display:grid;grid-template-columns:1fr auto;padding:24px 32px;gap:10px 24px;align-items:center}
.join>.eyebrow{grid-column:1}.join>div{display:contents}.join h2{grid-column:1;grid-row:2;font-size:30px;line-height:1.2;letter-spacing:-1px}.join h2 br{display:none}.join h2 em{font-size:40px;white-space:nowrap}.join .button{grid-column:2;grid-row:1/4}.join>p:last-child{grid-column:1}
footer{padding:28px 0}
.gear-details{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:20px 0 0;max-width:960px;padding-top:16px;border-top:1px solid var(--border)}.gear-details>div{min-width:0}.gear-details dt{font-size:9px;line-height:1.5;text-transform:uppercase;letter-spacing:1px;color:#ef837b}.gear-details dd{margin:6px 0 0;font-size:13px;line-height:1.5;color:var(--text)}
.next-trip{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px 16px;margin:18px auto 0;font-size:12px;color:var(--muted)}.next-trip>span:first-child{color:#ef837b;font-size:9px;text-transform:uppercase;letter-spacing:1.5px}.next-trip strong{font-weight:500;color:var(--text)}
@media(max-width:1000px){.shorts-grid,.stream-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.firstlight-actions{gap:12px}.kayak-copy{padding:24px}.kayak-copy h2{font-size:28px}.kayak-copy h2 em{font-size:38px}.kayak-copy>p:not(.eyebrow){font-size:12px}.kayak-copy>.handwritten{font-size:22px}}
@media(max-width:700px){:root{--site-gutter:16px;--section-gap:16px}header{height:76px}main>.identity-hero{padding:10px 16px 24px}.identity-top{font-size:6px;letter-spacing:1px}.identity-mark{width:84%;margin-top:20px}.identity-mark:before{left:-18px}.identity-mark:after{right:-18px}.identity-hero h1{font-size:clamp(34px,9vw,60px);letter-spacing:-2px}.identity-bottom{grid-template-columns:minmax(0,1fr) 128px;gap:16px;min-height:0;margin-top:24px}.pinned-catch{width:128px;margin:0;max-width:100%}.pinned-catch button{height:154px}.pinned-catch figcaption{font-size:14px}.identity-tagline{font-size:7px;letter-spacing:2px}.waterline-note{display:none}.identity-intro>p{font-size:11px}.hero-actions{gap:8px;margin-top:16px}.hero-actions .button{padding:10px;font-size:9px}main>.logbook-divider{padding:12px 16px;font-size:6px;letter-spacing:1px}main>.fishing-outlook,main>.tide-panel,main>.section{padding:24px 18px}.outlook-headline h2{font-size:32px}.outlook-headline h2 em{font-size:43px}.section-heading h2{font-size:32px}.weather-day{flex-basis:146px}.day-reason{min-height:40px}main>.firstlight-promo{padding:24px;grid-template-columns:1fr;gap:24px}.firstlight-copy h2{font-size:28px}.firstlight-copy h2 em{font-size:38px}.firstlight-preview{max-width:160px}.featured{grid-template-columns:1fr}.featured-copy{padding:22px}.featured-copy h3{font-size:29px}.shorts-grid,.stream-grid{grid-template-columns:1fr;gap:22px}.short-card h4,.stream-card h3{min-height:0}.section-heading{gap:14px}.shorts-heading{margin-top:26px}main>.kayak-story{grid-template-columns:1fr}.kayak-copy{grid-column:1;grid-row:1;padding:24px}.kayak-scene{grid-column:1;grid-row:2;height:auto;width:100%;object-fit:contain}.kayak-copy h2{font-size:32px}.kayak-copy h2 em{font-size:43px}.kayak-caption{font-size:5px;bottom:8px}main>.penn-gear{padding:22px;gap:16px}.penn-logo{width:76px}.penn-gear h2{font-size:18px}.penn-gear>a{margin-left:92px}main>.join{padding:24px;grid-template-columns:1fr;gap:12px}.join .button{grid-column:1;grid-row:4;justify-self:start}.join h2{font-size:27px}.join h2 em{font-size:36px}.join>p:last-child{grid-row:3}footer{padding:26px 0}}

/* Compact gear layout, with independent mobile wrapping. */
main>.penn-gear{display:grid;grid-template-columns:100px minmax(0,1fr) auto;align-items:center;gap:28px;padding:28px 32px}.penn-gear .penn-logo{width:100%}.penn-gear>div:nth-child(2){min-width:0}.penn-gear>a{margin:0;align-self:center}
@media(max-width:1000px){.gear-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px}main>.penn-gear{grid-template-columns:85px minmax(0,1fr);gap:20px}.penn-gear>a{grid-column:2;justify-self:start}.penn-gear .penn-logo{align-self:start;padding-top:5px}}
@media(max-width:500px){main>.penn-gear{padding:22px;grid-template-columns:64px minmax(0,1fr);gap:16px}.gear-details{grid-column:1/-1;gap:14px 18px}.gear-details dt{font-size:8px}.gear-details dd{font-size:12px}.penn-gear h2{font-size:18px}.penn-gear h2>span{display:inline}}

/* Waterline illustration fills the space between the app story and phone. */
main>.firstlight-promo{grid-template-columns:minmax(0,1.25fr) minmax(180px,.75fr) 200px;gap:28px}.firstlight-waterline{position:relative;z-index:1;align-self:center;width:100%;max-width:390px;justify-self:center;opacity:.9}.firstlight-waterline img{width:100%;height:auto;object-fit:contain}.firstlight-preview{grid-column:3}
@media(max-width:1100px){main>.firstlight-promo{grid-template-columns:minmax(0,1fr) 200px}.firstlight-waterline{display:none}.firstlight-preview{grid-column:2}}
@media(max-width:700px){main>.firstlight-promo{grid-template-columns:1fr}.firstlight-preview{grid-column:1}}

/* Give the opening logbook more presence without widening its frame. */
@media(min-width:701px){.identity-top{font-size:10px;letter-spacing:1.7px}.identity-mark{width:min(680px,62vw);margin:14px auto 0}.identity-hero>.handwritten{font-size:29px}.identity-hero h1{font-size:clamp(64px,8vw,112px);letter-spacing:-4px;margin:14px 0 12px}.identity-tagline{font-size:11px;letter-spacing:3.4px}.next-trip{font-size:15px;gap:10px 18px;margin-top:20px}.next-trip>span:first-child{font-size:11px}.identity-bottom{max-width:1180px;margin:28px auto 0;grid-template-columns:minmax(0,1.2fr) minmax(0,.7fr) 245px;min-height:220px;gap:28px}.identity-intro>p{font-size:16px;line-height:1.8}.identity-intro .button{font-size:13px;padding:16px 20px}.waterline-note{font-size:10px;letter-spacing:1.3px}.line-wave{font-size:36px}.pinned-catch{width:245px;max-width:245px;margin:0;padding:10px 10px 12px}.pinned-catch button{height:205px}.pinned-catch figcaption{font-size:21px}.hero-actions{gap:14px}}
@media(min-width:701px) and (max-width:1000px){.identity-bottom{grid-template-columns:minmax(0,1fr) 210px;gap:24px}.waterline-note{display:none}.pinned-catch{width:210px;max-width:210px}.pinned-catch button{height:190px}.identity-intro>p{font-size:15px}.identity-intro .button{font-size:12px;padding:14px 16px}.identity-tagline{font-size:9px}.next-trip{font-size:13px}.identity-top{font-size:8px}}

@media(min-width:1100px){.identity-tagline{font-size:13px;letter-spacing:3px}.next-trip{font-size:18px;gap:12px 20px}.next-trip>span:first-child{font-size:12px}.identity-bottom{max-width:1280px;grid-template-columns:minmax(0,1.15fr) minmax(0,.65fr) 280px;min-height:260px;margin-top:30px}.identity-intro>p{font-size:20px;line-height:1.65;color:#cbc8cc}.identity-intro .button{font-size:16px;padding:18px 23px}.identity-intro .hero-actions{margin-top:26px;gap:18px}.waterline-note{font-size:12px;letter-spacing:1px;gap:16px}.line-wave{font-size:42px}.pinned-catch{width:280px;max-width:280px;padding:11px 11px 14px}.pinned-catch button{height:235px}.pinned-catch figcaption{font-size:24px}.logbook-divider{font-size:11px;letter-spacing:2px}.identity-top{font-size:11px}}

/* Hero corner content follows the same outer frame as the forecast panel. */
main>.identity-hero{padding-inline:0}.identity-top,.identity-bottom{width:100%;max-width:none}.identity-bottom{margin-left:0;margin-right:0}.pinned-catch{transform:none;justify-self:end}.identity-top>span:last-child{text-align:right}


/* A personal recommendation, in the same frame as the fishing logbook. */
.buddy-spotlight{width:calc(100% - var(--site-gutter)*2);max-width:var(--site-width);margin:var(--section-gap) auto 0;padding:28px 32px;display:grid;grid-template-columns:180px minmax(0,1fr) 240px;align-items:center;gap:32px;border:1px solid var(--border);border-left:3px solid var(--red);border-radius:3px;background:radial-gradient(ellipse at 0% 60%,#e23a320b,transparent 55%),#19191b}.buddy-art{color:#b9b2b8}.buddy-art svg{display:block;width:100%;height:auto}.buddy-copy .eyebrow{font-size:9px;color:#b8adb6;letter-spacing:1.5px}.buddy-copy h2{font:500 clamp(24px,2.5vw,34px)/1.2 "DM Sans",Arial,sans-serif;letter-spacing:-1px;margin:10px 0 4px;overflow-wrap:anywhere}.buddy-copy .buddy-handwritten{font:500 34px/1.2 Caveat,cursive;color:#e77770;margin:0 0 12px}.buddy-copy>p:last-child{font-size:14px;line-height:1.8;color:var(--muted);max-width:680px}.buddy-actions{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.buddy-actions .button{font-size:12px;padding:16px 20px}.buddy-actions small{font-size:10px;line-height:1.7;color:var(--muted);max-width:210px}
@media(max-width:1100px){.buddy-spotlight{grid-template-columns:120px minmax(0,1fr);gap:24px}.buddy-actions{grid-column:2}.buddy-art{grid-row:1/3;align-self:center}.buddy-copy>p:last-child{font-size:13px}}
@media(max-width:700px){.buddy-spotlight{padding:24px;grid-template-columns:minmax(0,1fr);gap:18px}.buddy-art{display:none}.buddy-actions{grid-column:1}.buddy-copy h2{font-size:27px}.buddy-copy .buddy-handwritten{font-size:31px}.buddy-copy .eyebrow{font-size:8px;letter-spacing:1px}.buddy-actions small{max-width:none}}

footer{flex-wrap:wrap}.site-rights{flex:0 0 100%;display:flex;justify-content:space-between;gap:12px 24px;padding-top:18px;border-top:1px solid var(--border)}.site-rights p{font-size:10px;line-height:1.7;color:var(--muted)}@media(max-width:700px){.site-rights{flex-direction:column;gap:5px}.site-rights p{width:auto;order:initial;font-size:9px}}

.not-found{max-width:900px;margin:12vh auto;padding:32px}.not-found .eyebrow{color:#e77770}.not-found h1{font-size:clamp(48px,8vw,88px);line-height:1.05;margin:24px 0}.not-found>p:not(.eyebrow){font-size:16px;color:var(--muted);margin-bottom:28px}
