@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{color-scheme:dark;--ink:#f5fbfc;--muted:#d1e0e6;--accent:#b9edec;--line:rgba(230,251,255,.24);--glass:rgba(8,31,42,.63);--radius:24px;--shadow:0 16px 50px #00152138,inset 0 1px 0 #ffffff26,inset 0 -1px 0 #00000012}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{isolation:isolate;margin:0;background:#071d29;color:var(--ink);font:16px/1.6 'DM Sans',sans-serif}h1,h2,h3,p,figure{margin:0}button,select{font:inherit}a{color:inherit}button,select,summary{cursor:pointer}button,a,select,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible,select:focus-visible{outline:3px solid #c6ffff;outline-offset:5px}.ocean-scene{position:fixed;inset:0;z-index:-2;pointer-events:none;background:#133d4b}.ocean-scene img{width:100%;height:100%;object-fit:cover;object-position:58% 55%}.ocean-scene:after{content:'';position:absolute;inset:0;background:linear-gradient(100deg,rgba(2,22,36,.64),rgba(7,37,48,.15) 65%),linear-gradient(0deg,rgba(0,21,32,.72),transparent 80%)}.header{max-width:1440px;margin:auto;padding:25px 4.5%;display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:103px}.brand{display:flex;align-items:center;gap:17px;text-decoration:none;flex-shrink:0}.brand-crest{width:89px;height:35px;mix-blend-mode:screen;overflow:hidden}.brand-name{display:flex;flex-direction:column;font-size:10px;line-height:1.75;letter-spacing:4px}.brand-name strong{font-size:13px;letter-spacing:2.9px;font-weight:650}.header nav{display:flex;align-items:center;gap:7px;padding:6px;border:1px solid var(--line);border-radius:40px;background:#133c4845;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);box-shadow:inset 0 1px 0 #ffffff18}.header nav a{font-size:14px;text-decoration:none;padding:9px 21px;border-radius:30px;color:#e8f3f5}.header nav a:hover{background:#ffffff15}.header nav a.active{background:#ffffffec;color:#123746;box-shadow:0 4px 15px #041b2933}.beginner-label{font-size:11px;letter-spacing:1.6px;white-space:nowrap}.beginner-label span{font-size:20px;margin-left:9px}main{max-width:1312px;margin:auto;padding:32px 48px 20px}.intro{display:flex;justify-content:space-between;align-items:flex-end;gap:25px;margin-bottom:24px}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:550;color:#d3e5e9}h1{font:500 clamp(52px,6.5vw,84px)/1.12 Manrope,sans-serif;letter-spacing:-4px;margin:9px 0 12px;text-shadow:0 3px 20px #09202c22}h1>span{color:#d1f4ed}.intro p{font-size:17px;color:#e6f0f2}.controls{display:flex;flex-direction:column;align-items:flex-end;gap:8px;margin-bottom:3px}.controls label{font-size:12px;color:#deeaee}select{background:rgba(18,51,64,.6);border:1px solid var(--line);border-radius:14px;padding:12px 15px;font-size:14px;color:white;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:var(--shadow)}select option{background:#153b4a;color:white}.data-line{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:12px;color:#e0ecef;margin:22px 0 12px}.text-button{color:white;background:rgba(13,44,57,.35);border:1px solid var(--line);border-radius:22px;padding:7px 15px;font-size:13px;white-space:nowrap;backdrop-filter:blur(15px)}.text-button:hover{background:#ffffff26}.text-button:disabled{opacity:.5;cursor:wait}.days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--line);border-radius:20px;background:rgba(7,34,49,.54);box-shadow:var(--shadow);backdrop-filter:blur(24px) saturate(1.3);-webkit-backdrop-filter:blur(24px) saturate(1.3);overflow:hidden;min-height:100px;margin-bottom:24px}.day{position:relative;border:0;border-right:1px solid #ffffff17;background:transparent;color:var(--muted);padding:15px 8px;display:flex;align-items:center;flex-direction:column;gap:1px;min-width:0}.day:last-child{border-right:0}.day strong{font-size:15px;font-weight:550;color:white}.day .date{font-size:12px}.day .day-value{font-size:14px;margin-top:5px;color:white;font-weight:500}.day.selected{background:linear-gradient(150deg,#ecffff33,#e8ffff18);box-shadow:inset 0 0 0 1px #e2ffff55}.day.selected:after{content:'';height:3px;width:22px;background:#d4f9f1;border-radius:4px;position:absolute;bottom:0}.day:hover:not(.selected){background:#ffffff0e}.overview{display:grid;grid-template-columns:1.1fr 1fr;gap:25px;min-height:330px;margin-bottom:42px}.verdict,.metric,.tide-card,.hourly,.glossary,.safety,.lesson-card,.location-panel,.merch-card,.activity-disclosure{background:linear-gradient(130deg,rgba(202,232,239,.1),transparent 50%),var(--glass);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);backdrop-filter:blur(25px) saturate(1.3);-webkit-backdrop-filter:blur(25px) saturate(1.3)}.verdict{padding:29px 32px;display:flex;flex-direction:column;align-items:flex-start}.verdict>.eyebrow{font-size:11px;letter-spacing:1.7px}.rating{display:inline-block;padding:5px 12px;border-radius:30px;font-size:13px;font-weight:550;margin:16px 0 8px;border:1px solid #ffffff29}.gentle{background:#276452a8;color:#d4ffe5}.lesson{background:#8063308f;color:#ffe6b3}.challenging,.storm{background:#873e3b99;color:#ffe3df}.neutral{background:#49626e80;color:#e2edf2}.verdict h2{font:500 31px/1.25 Manrope,sans-serif;letter-spacing:-1px;margin:5px 0 12px}.verdict>p{font-size:15px;line-height:1.7;color:#e0eaef;max-width:440px}.window{display:flex;align-items:center;gap:14px;border-top:1px solid var(--line);padding-top:18px;margin-top:22px;width:100%}.window-icon{font-size:29px;color:#d0efea}.window-label{font-size:12px;color:#d1e0e6;display:block}.window strong{font:550 23px/1.5 Manrope,sans-serif;display:block}.window div>span:last-child{display:block;font-size:12px;color:#ccdde4;margin-top:3px}.window a{margin-left:auto;text-decoration:none;font-size:24px;min-width:38px;text-align:center}.beach{position:relative;display:flex;justify-content:flex-end;align-items:flex-end;padding:24px 7px;background:none;min-height:310px}.beach-caption{text-align:right;text-shadow:0 2px 15px #001622}.location-tag{display:inline-block;font-size:12px;padding:7px 13px;border:1px solid #ffffff52;border-radius:30px;background:#173e4640;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);margin-bottom:15px}.beach-caption p{font-size:11px;letter-spacing:2px;color:#deedf0}.beach-caption>span:last-child{font:500 27px/1.5 Manrope,sans-serif;letter-spacing:-.8px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:34px 0 18px}.section-heading .eyebrow{margin-bottom:5px}.section-heading h2{font:500 29px/1.4 Manrope,sans-serif;letter-spacing:-1px;text-shadow:0 2px 10px #001c2a30}.section-heading p{font-size:13px;color:#deeaee}.tides{margin-bottom:39px;scroll-margin-top:25px}.tide-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.tide-card{padding:23px 27px}.tide-heading{display:flex;gap:12px;align-items:center}.tide-heading>span{display:grid;place-items:center;width:34px;height:34px;background:#dcffff12;border:1px solid #d4f6ff26;border-radius:50%;font-size:23px}.tide-heading h3{font-size:16px;font-weight:500}.tide-times{display:flex;flex-wrap:wrap;gap:12px 24px;font:500 28px/1.4 Manrope,sans-serif;margin:13px 0 12px}.tide-times time{white-space:nowrap}.tide-times time span{font:400 12px 'DM Sans',sans-serif;color:#d2e3e9}.tide-card p,.tide-tip{font-size:14px;color:#d9e6ec}.tide-tip{margin-top:10px;max-width:920px}.tide-tip strong{color:white;font-weight:600}.tide-empty{font-size:16px;color:var(--muted)}.table-note{font-size:12px;color:#d9e6eb;margin-top:13px;line-height:1.65}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.metric{padding:23px;min-width:0}.metric-icon{font-size:29px;line-height:1;display:block;height:32px;color:#bbe4e7}.metric h3{font-size:14px;font-weight:450;color:#dfedf0;margin-top:18px}.metric>strong{font:500 36px/1.5 Manrope,sans-serif;letter-spacing:-1.2px;display:block}.metric>strong small{font:400 15px 'DM Sans',sans-serif;color:#d2e3e9;letter-spacing:0}.metric .translation{font-size:13px;color:#d0f4ed;font-weight:500;min-height:21px;margin:6px 0 12px}.metric p{font-size:14px;color:#d4e2e9;line-height:1.65}.hourly{padding:25px 27px 22px;margin-top:37px}.hourly .section-heading{margin:0 0 19px}.hours{display:grid;grid-template-columns:repeat(12,minmax(80px,1fr));gap:5px;overflow-x:auto;scrollbar-width:thin;padding:6px 2px 12px}.hour{border:1px solid transparent;border-radius:17px;background:rgba(235,250,255,.035);padding:13px 5px;color:white;display:flex;flex-direction:column;align-items:center;gap:10px;min-width:80px}.hour:hover{background:#e0f9ff10}.hour.selected{border:1px solid #d2ffff7a;background:linear-gradient(160deg,#d5ffff22,#d9ffff0e);box-shadow:inset 0 1px 0 #ffffff3d}.hour.past{opacity:.58}.hour time{font-size:14px;font-weight:500}.bar-track{height:57px;width:23px;display:flex;align-items:flex-end;background:#ceeef309;border-radius:7px;overflow:hidden}.bar{width:100%;min-height:5px;border-radius:5px 5px 0 0;opacity:.95}.hour .size{font-size:14px;font-weight:500}.hour .wind{font-size:12px;color:#d0e0e7}.hour .hour-label{font-size:12px;line-height:1.3;min-height:32px;display:flex;align-items:center}.hour .best-tag{font-size:10px;font-weight:550;height:16px;color:#d2f7ee;white-space:nowrap}.basics{position:relative;isolation:isolate;display:grid;grid-template-columns:1fr 1.15fr;gap:45px;margin:58px -18px 34px;padding:38px 28px;border-radius:28px;overflow:hidden;background:#0d3545;min-height:450px}.basics-photo{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#061e30aa,#09283320),url('/jaco-shore.jpg') center 67%/cover}.basics:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#06213180,transparent)}.basics-intro{padding:20px 12px;align-self:center}.basics h2{font:500 38px/1.3 Manrope,sans-serif;letter-spacing:-1.3px;margin:15px 0 18px;max-width:360px}.basics-intro>p{color:#e3edf1;max-width:305px;font-size:16px}.first-lesson{display:flex;gap:16px;margin-top:28px;max-width:350px}.first-lesson>span{font-size:31px;color:#d6f6f0}.first-lesson p{font-size:14px;color:#dae9ee}.first-lesson strong{color:white;font-weight:600}.glossary{padding:10px 25px}details{border-bottom:1px solid var(--line)}details:last-child{border:0}summary{display:flex;justify-content:space-between;align-items:center;gap:18px;list-style:none;padding:18px 0;font-size:14px;font-weight:500}summary::-webkit-details-marker{display:none}summary:after{content:'+';font-size:23px;font-weight:400;flex:none}details[open] summary:after{content:'−'}details p{font-size:14px;color:#d1e3eb;padding-bottom:18px;line-height:1.7}.safety{display:flex;gap:20px;align-items:center;padding:20px 24px;font-size:14px;border-radius:18px}.safety strong{font-weight:600;white-space:nowrap}.safety span{color:#d5e3e9}footer{font-size:12px;color:#cbdee5;padding-top:13px}.footer-top{display:flex;align-items:center;justify-content:space-between;margin:7px 0 12px}.footer-brand{width:160px;display:block;mix-blend-mode:screen}.footer-brand img{display:block;width:100%;height:auto}.footer-top>span{font-size:12px;letter-spacing:2px;text-align:right}.footer-top small{font-size:12px;font-weight:400;letter-spacing:0;color:#d0e3e9}footer p{margin:8px 0}footer a:hover{color:white}.error{background:#592c29ce;border:1px solid #fdc6b478;border-radius:16px;padding:18px 22px;margin:14px 0;font-size:15px;backdrop-filter:blur(20px)}.waiting{padding:24px;grid-column:1/-1;color:var(--muted)}.skip{position:absolute;left:20px;top:-100px;z-index:10;background:white;color:#092736;padding:10px;border-radius:8px}.skip:focus{top:10px}[hidden]{display:none!important}.mobile-only{display:none}
@media(min-width:1200px){.hour{min-width:0}.hours{grid-template-columns:repeat(12,1fr)}}
@media(max-width:1000px){.beginner-label{display:none}.header{padding:23px 32px}.header nav{margin-left:auto}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.overview{grid-template-columns:1.3fr 1fr}.verdict{padding:25px}.verdict h2{font-size:29px}main{padding:25px 32px 20px}.basics{gap:25px;grid-template-columns:1fr 1.2fr}.basics h2{font-size:33px}.safety{align-items:flex-start;flex-direction:column;gap:4px}.tide-times{font-size:26px}}
@media(max-width:700px){.header{padding:21px 22px;gap:15px;flex-wrap:wrap}.header nav a{padding:8px 13px;font-size:13px}.brand{gap:11px}.brand-crest{width:65px;height:27px}.brand-name{font-size:8px;letter-spacing:3px}.brand-name strong{font-size:10px;letter-spacing:2px}main{padding:22px 22px 20px}.overview{grid-template-columns:1fr;gap:0;position:relative;padding-top:85px;margin-bottom:33px}.beach{position:absolute;top:0;right:2px;min-height:0;padding:0}.beach-caption{display:flex;align-items:center;gap:12px;text-align:left}.beach-caption p{display:none}.beach-caption>span:last-child{font-size:17px;letter-spacing:0}.location-tag{margin:0;font-size:11px;padding:5px 9px}.intro h1{font-size:62px;letter-spacing:-3px}.intro{align-items:flex-start}.controls{margin-top:9px}.controls label{font-size:11px}.controls select{font-size:12px;padding:11px 7px}.intro .eyebrow{font-size:10px;letter-spacing:1.4px}.intro p{font-size:15px}.days{grid-template-columns:repeat(7,minmax(80px,1fr));overflow-x:auto;margin-bottom:0}.day{padding:14px 7px}.day strong{font-size:14px}.day .day-value{font-size:13px}.section-heading{align-items:flex-start;flex-direction:column;gap:8px}.section-heading h2{font-size:26px}.tide-grid{gap:12px}.tide-card{padding:19px}.tide-times{font-size:24px;gap:8px 14px}.tide-times time span{font-size:11px}.basics{grid-template-columns:1fr;margin:38px -6px 25px;padding:28px 20px;gap:25px}.basics-intro{padding:10px}.basics h2{max-width:none;font-size:33px}.basics h2 br{display:none}.basics-intro>p,.first-lesson{max-width:400px}.glossary{padding:6px 20px}.safety strong{white-space:normal}.hourly{padding:23px 19px}.data-line{font-size:11px;align-items:flex-start;margin:23px 0 14px;gap:10px}.data-line p{max-width:270px}.ocean-scene img{object-position:68% 50%}.ocean-scene:after{background:linear-gradient(180deg,#06213155,#041e3099 70%)}}
@media(max-width:470px){.header{padding:20px 18px;justify-content:space-between}.header nav{gap:0;padding:4px;margin:0}.header nav a{padding:8px 10px;font-size:12px}.brand-name{display:none}.brand-crest{width:64px;height:29px}.intro{position:relative;display:block;margin-bottom:23px}.intro h1{font-size:60px;letter-spacing:-3.5px}.intro p{font-size:15px}.controls{flex-direction:row;justify-content:space-between;align-items:center;margin-top:20px;gap:10px}.controls label{font-size:12px}.controls select{font-size:13px;padding:9px 13px}main{padding:15px 18px 18px}.data-line{margin-top:19px}.overview{padding-top:75px}.verdict{padding:23px}.verdict h2{font-size:29px}.verdict>p{font-size:15px}.window strong{font-size:22px}.tide-grid{grid-template-columns:1fr}.tide-times{font-size:27px;gap:12px 27px}.metric{padding:19px 16px}.metric h3{font-size:13px}.metric>strong{font-size:31px}.metric p{font-size:14px}.metric .translation{font-size:13px}.metrics{gap:11px}.section-heading h2{font-size:25px}.section-heading p{font-size:12px}.hourly{margin-top:28px}.footer-brand{width:130px}.footer-top>span{font-size:10px;letter-spacing:1.3px}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.verdict,.metric,.tide-card,.hourly,.glossary,.safety,.days{background:rgba(8,31,42,.94)}}
@media(prefers-reduced-transparency:reduce){.verdict,.metric,.tide-card,.hourly,.glossary,.safety,.days{background:rgba(8,31,42,.96);backdrop-filter:none;-webkit-backdrop-filter:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Beginner comparison scales: highlighted guide band plus independent forecast marker. */
.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.scale-card{padding:25px 27px}.scale-title{display:flex;align-items:center;gap:13px}.scale-title .metric-icon{height:auto;font-size:27px}.scale-title h3{margin:0;font-size:16px}.scale-reading{display:flex;align-items:baseline;justify-content:space-between;gap:15px;margin:18px 0 17px}.scale-reading strong{font:500 35px/1.3 Manrope,sans-serif;letter-spacing:-1px}.scale-reading>span{font-size:12px;color:var(--muted)}.surf-scale{padding:8px 8px 0}.scale-ends,.scale-ticks{display:flex;justify-content:space-between;gap:12px;color:#d9e9ed;font-size:12px}.scale-ends{letter-spacing:1px;font-size:11px}.scale-track{position:relative;height:14px;margin:21px 0 13px;border-radius:20px;background:linear-gradient(90deg,#7b9aab77,#cbbf8f77 65%,#bb777899);box-shadow:inset 0 1px 3px #00152155;border:1px solid #ffffff24}.scale-band{position:absolute;top:-4px;bottom:-4px;border:2px solid #ccfff0;border-radius:5px;background:#8ee4bfc9;box-shadow:0 0 14px #95e2c526}.scale-marker{position:absolute;top:-9px;height:32px;width:3px;background:#fff;transform:translateX(-50%);border-radius:4px;box-shadow:0 0 0 2px #103348c9}.marker-dot{position:absolute;top:-4px;left:50%;transform:translateX(-50%);width:11px;height:11px;border:2px solid white;border-radius:50%;background:#173c4a}.scale-key{display:flex;align-items:center;gap:9px;margin:19px 0 8px;font-size:13px;color:#d8f7e9;line-height:1.6}.scale-key strong{font-weight:550}.sweet-key{display:inline-block;flex:none;width:15px;height:10px;border:1px solid #d0ffe8;border-radius:3px;background:#8ee4bfc9}.scale-relation{display:flex;align-items:center;gap:10px;font-size:12px;color:#dfebee;margin-bottom:16px}.value-key{display:inline-block;flex:none;width:3px;height:13px;background:white;margin:0 6px}.scale-card .scale-caution{font-size:12px;color:#c8dce4;margin-top:10px}.hourly-context{font-size:13px;color:#deebee;margin:0 0 14px;max-width:780px}.hour.past{opacity:.72}.footer-top .footer-quote small{display:block;font-size:16px;letter-spacing:0;color:#e1eff3;margin-bottom:4px}.footer-quote strong{display:block;font-weight:550;letter-spacing:2px;font-size:13px}@media(max-width:600px){.scale-card{grid-column:1/-1;padding:24px}.scale-reading strong{font-size:34px}.scale-title h3{font-size:16px}.footer-top .footer-quote small{font-size:14px}.footer-quote strong{font-size:11px;letter-spacing:1.2px}.footer-brand{width:110px}}

/* Tide overview now occupies the former location panel. */
.overview{grid-template-columns:1.08fr 1fr;gap:22px;align-items:stretch;padding-top:0;margin-bottom:25px}.overview #tides{margin:0;min-width:0}.overview #tides>.section-heading{margin:0 0 12px;display:block}.overview #tides .eyebrow{font-size:10px;letter-spacing:1.6px}.overview #tides h2{font-size:24px}.overview #tide-day{font-size:12px;margin-top:3px}.overview .tide-grid{grid-template-columns:1fr;gap:10px}.overview .tide-card{padding:15px 20px;border-radius:20px}.overview .tide-heading{gap:10px}.overview .tide-heading>span{width:26px;height:26px;font-size:20px}.overview .tide-heading h3{font-size:15px}.overview .tide-times{font-size:25px;margin:8px 0 6px;gap:8px 18px}.overview .tide-card p{font-size:13px}.overview #tide-status{font-size:11px;margin-top:10px}.hourly{margin-top:24px;margin-bottom:32px}.hourly-comparison{font-size:14px;color:#e1f4ef;margin:0 0 15px;max-width:940px}.hours{grid-template-columns:repeat(12,minmax(106px,1fr))}.hour{min-width:106px;padding:13px 7px}.hour-period{font-size:12px;color:#d0e0e7}.hour .hour-label{font-size:13px;min-height:34px;max-width:100px;justify-content:center}.hour-tide{display:flex;flex-direction:column;justify-content:flex-end;min-height:47px;font-size:12px;line-height:1.5;gap:5px}.tide-badge{display:block;padding:4px 7px;border:1px solid #bdebf33d;border-radius:9px;background:#bdebf316;color:#e6fbff}.hourly-tides{font-size:13px;color:#dff3f7;margin:8px 0 14px;line-height:1.7}@media(max-width:1000px){.overview{grid-template-columns:1fr 1fr;gap:17px}.overview .tide-times{font-size:23px}.overview .verdict{padding:23px}.overview .verdict h2{font-size:28px}}@media(max-width:700px){.overview{grid-template-columns:1fr;padding-top:0;gap:24px;margin-top:23px}.overview .tide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.overview .tide-times{font-size:23px}.overview #tides>.section-heading{margin-bottom:13px}.hourly{margin-top:23px}}@media(max-width:470px){.overview .tide-grid{grid-template-columns:1fr}.overview .tide-times{font-size:25px}.overview .verdict{padding:23px}.hourly-comparison{font-size:13px}}

/* Location search remains part of the glass forecast interface. */
#location-title{font-size:clamp(34px,5vw,64px);letter-spacing:-2px;overflow-wrap:anywhere}.intro>div:first-child{min-width:0}.beginner-label{max-width:220px;white-space:normal;text-align:right}.location-panel{padding:20px 24px;border:1px solid var(--line);border-radius:var(--radius);margin:22px 0}.location-top{display:flex;justify-content:space-between;align-items:center;gap:15px}.location-top label{font-size:18px;font-weight:600}.location-top p{font-size:12px;color:var(--muted)}#location-search{display:flex;gap:10px;margin-top:15px}#location-query{width:100%;min-width:0;font:inherit;color:white;background:#ffffff0d;border:1px solid var(--line);border-radius:14px;padding:12px 15px}#location-query::placeholder{color:#c9d9df}#location-query:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.location-help,.location-bottom{font-size:12px;color:var(--muted);margin-top:10px}#location-message{font-size:14px;margin-top:8px}#location-results{display:grid;gap:7px;margin-top:10px}#location-results button{text-align:left;color:white;background:#ffffff0b;border:1px solid var(--line);border-radius:12px;padding:11px 15px}#location-results button:hover{background:#ffffff20}.location-bottom{display:flex;justify-content:space-between;gap:14px;align-items:center}#reset-location{border:0;background:none;color:var(--accent);font-size:12px;text-decoration:underline;white-space:nowrap;padding:5px}.location-panel button:disabled{opacity:.6}@media(max-width:470px){.location-panel{padding:18px}.location-top{align-items:flex-start;flex-direction:column}.location-bottom{align-items:flex-start;flex-direction:column}.intro #location-title{font-size:42px;letter-spacing:-2px}}

.location-picker{border:0;margin:0 0 4px}.location-picker>summary{display:inline-flex;justify-content:flex-start;gap:8px;padding:0 0 6px;color:#d7efef;font-size:13px;font-weight:400}.location-picker>summary:after{content:none}.location-picker .location-panel{margin:9px 0 16px}.location-summary-status{font-size:12px;color:var(--muted);max-width:700px;margin:0 0 10px}.location-summary-status:empty{display:none}.scale-subtitle{font-size:12px;color:var(--muted);display:block;margin-top:3px}.scale-title h3{font-weight:600}.overview .tide-grid{grid-template-columns:repeat(2,minmax(0,1fr));height:calc(100% - 105px);align-items:stretch}.overview .tide-card{padding:16px}.overview .tide-heading{gap:7px}.overview .tide-heading h3{font-size:14px}.overview .tide-times{flex-direction:column;font-size:23px}.overview .tide-card p{font-size:12px}.overview .tide-empty{font-size:14px}.ocean-scene img{transition:opacity .4s}.basics-photo{background-image:none}.intro{margin-bottom:12px}@media(max-width:700px){.overview .tide-grid{height:auto}.overview .tide-card{min-width:0}.overview .tide-times{font-size:25px}}@media(max-width:470px){.overview .tide-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.overview .tide-card{padding:14px 12px}.overview .tide-heading{flex-wrap:wrap}.overview .tide-times{font-size:22px}.overview .tide-times time{white-space:normal}}@media(prefers-reduced-motion:reduce){.ocean-scene img{transition:none}}

/* Compact local lesson discovery between the outlook and hourly forecast. */
.lesson-card{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 24px;margin:0 0 24px;border:1px solid var(--line);border-radius:var(--radius)}.lesson-copy{min-width:0}.lesson-copy h2{font:500 1.25rem/1.35 Manrope,sans-serif;letter-spacing:-.35px;margin:0 0 6px}.lesson-copy p{font-size:.875rem;color:#e0eef1;margin:0 0 5px;line-height:1.5}.lesson-location{display:block;font-size:.75rem;color:var(--accent);overflow-wrap:anywhere}.lesson-action{display:flex;flex-direction:column;align-items:center;gap:7px;flex-shrink:0}.lesson-link{display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:12px 18px;border:1px solid #d6f7f36b;border-radius:999px;background:#c5f4eb1c;color:#f5fbfc;text-decoration:none;font-size:.875rem;font-weight:500;min-height:44px}.lesson-link:hover{background:#c5f4eb35}.lesson-link:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.lesson-action>span{font-size:.75rem;color:var(--muted)}@media(max-width:600px){.lesson-card{align-items:flex-start;flex-direction:column;gap:16px;padding:20px}.lesson-action{align-items:flex-start}.lesson-copy h2{font-size:1.125rem}.lesson-action>span{padding-left:4px}}

.lesson-logo{width:80px;height:80px;object-fit:contain;flex:none;mix-blend-mode:screen}.lesson-card.has-partner{gap:20px}.lesson-card.has-partner .lesson-copy{flex:1}.lesson-card.has-partner .lesson-action{max-width:270px}.lesson-card.has-partner .lesson-link{text-align:center;white-space:normal}@media(max-width:760px){.lesson-card.has-partner{display:grid;grid-template-columns:64px minmax(0,1fr);gap:14px 18px;align-items:center}.lesson-card.has-partner .lesson-logo{width:64px;height:64px}.lesson-card.has-partner .lesson-action{grid-column:1/-1;align-items:flex-start;max-width:none}.lesson-card.has-partner .lesson-link{font-size:.875rem}}

/* Keep the location chooser directly under the place name without narrowing its form. */
.intro>div:first-child{flex:1}.intro .location-picker{margin:0 0 8px}.intro .location-picker>summary{font-size:14px;padding:0 0 4px}.intro .location-panel p{font-size:14px;line-height:1.6;padding-bottom:0}.intro .location-top p,.intro .location-help,.intro .location-bottom{font-size:12px}.intro .location-picker[open]{width:100%}.intro:has(.location-picker[open]){align-items:flex-start}@media(min-width:471px) and (max-width:800px){.intro:has(.location-picker[open]){flex-wrap:wrap}.intro:has(.location-picker[open])>div:first-child{flex-basis:100%}}

/* Measurement preferences stay quietly in the footer. */
.footer-controls{flex-direction:row;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px;margin:0 0 18px}.footer-controls label{font-size:12px;color:var(--muted)}.footer-controls select{font-size:12px;padding:8px 11px;box-shadow:none;background:rgba(18,51,64,.35)}@media(max-width:470px){.footer-controls{justify-content:flex-start}}

/* Quiet header and bottom-aligned footer preferences. */
.header-tagline{margin-left:auto;color:#e6f0f2;font-size:16px;line-height:1.5;text-align:right;max-width:300px}.header .beginner-label{display:none}.footer-top{flex-direction:column;align-items:flex-start;gap:0}.footer-top .footer-quote{font-size:16px;color:#e1eff3;letter-spacing:0;margin:0 0 -8px;text-align:left}.footer-controls{margin:22px 0 0;justify-content:flex-end}@media(max-width:600px){.header-tagline{font-size:13px;max-width:185px}.header{gap:16px}.footer-controls{justify-content:flex-end}.footer-top .footer-quote{font-size:14px}}@media(max-width:380px){.header-tagline{max-width:none;text-align:left;margin-left:0;flex-basis:100%}}

/* Give the header statement a title-sized presence and align footer settings. */
.header-tagline{font:500 clamp(26px,3.5vw,42px)/1.18 Manrope,sans-serif;letter-spacing:-1.1px;max-width:570px;flex:0 1 55%;text-align:left;color:var(--ink)}.footer-top{width:180px;align-items:center}.footer-top .footer-quote{text-align:center;width:100%}.footer-top .footer-brand{width:100%}.footer-bottom{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:end}.footer-notes{min-width:0}.footer-notes p:last-child{margin-bottom:0}.footer-bottom .footer-controls{margin:0;flex-direction:column;align-items:flex-end;gap:5px;flex-wrap:nowrap}.footer-bottom .footer-controls select{max-width:100%}@media(max-width:600px){.header-tagline{flex-basis:100%;max-width:440px;margin:5px 0 0;font-size:29px;letter-spacing:-.7px}.header{gap:16px}.footer-top{width:155px}.footer-bottom{grid-template-columns:minmax(0,1fr);gap:15px}.footer-bottom .footer-controls{justify-self:end;flex-direction:row;align-items:center}}

/* A quiet collection preview after surf basics, before the footer. */
.merch{margin:48px 0 42px}.merch .section-heading{margin-bottom:10px;align-items:center}.merch .section-heading h2{font-size:clamp(26px,3vw,38px);line-height:1.2;max-width:640px}.merch-soon{font-size:12px;color:var(--accent);border:1px solid var(--line);border-radius:30px;padding:6px 12px;white-space:nowrap}.merch-intro{font-size:14px;color:var(--muted);margin-bottom:22px}.merch-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:16px;align-items:stretch}.merch-card{min-width:0;overflow:hidden;display:flex;flex-direction:column;border-radius:20px}.merch-featured{grid-row:span 2}.merch-rashguard{width:100%;height:0;min-height:280px;flex:1;object-fit:cover;display:block}.merch-photo{width:100%;aspect-ratio:3/2;background-image:url('/merch-collection.jpg');background-size:200% 200%;background-repeat:no-repeat;flex:none}.merch-cap{background-position:0 0}.merch-journal{background-position:100% 0}.merch-mug{background-position:0 100%}.merch-gym{background-position:100% 100%}.merch-caption{padding:15px 17px}.merch-caption h3{font:500 17px/1.4 Manrope,sans-serif;letter-spacing:-.2px}.merch-caption p{font-size:12px;color:var(--muted);margin-top:4px}.merch-kicker{font-size:10px;letter-spacing:1.7px;color:var(--accent);display:block;margin-bottom:5px}.merch-preview-note{font-size:12px;color:var(--muted);margin-top:15px;line-height:1.6}@media(max-width:700px){.merch-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.merch-featured{grid-column:1/-1;grid-row:auto;display:grid;grid-template-columns:1fr 1fr;align-items:center}.merch-rashguard{height:280px;min-height:0;object-fit:cover}.merch .section-heading{align-items:flex-start}.merch-caption{padding:14px}.merch-caption h3{font-size:16px}}@media(max-width:400px){.merch-featured{display:flex}.merch-rashguard{height:440px;flex:none}.merch-caption{padding:13px}.merch-caption h3{font-size:15px}}

/* Single-line masthead, compact desktop tides, and centered footer signature. */
.header-tagline{flex:1 1 auto;max-width:none;white-space:nowrap;font-size:clamp(22px,3vw,40px);text-align:right}.footer-top{width:230px;margin:22px auto 26px}.footer-top .footer-quote{font-size:19px;margin-bottom:-7px}@media(min-width:701px){.overview .tides{align-self:start}.overview .tide-grid{height:auto;align-items:stretch}.overview .tides .section-heading{align-items:center;text-align:center}.overview .tides .section-heading>div{width:100%}.overview .tides .section-heading h2{text-align:center}.overview .tide-card{padding:20px}}@media(max-width:600px){.header-tagline{flex-basis:100%;margin:5px 0 0;font-size:clamp(16px,4.4vw,26px);letter-spacing:-.5px;text-align:left}.footer-top{width:200px}.footer-top .footer-quote{font-size:17px}}

/* Screen blending removes the normalized dark background from the signature. */
.footer-signature{position:relative;width:min(100%,850px);margin:26px auto 38px;text-align:center}
.footer-signature video{display:block;width:100%;height:auto;mix-blend-mode:screen;pointer-events:none}
.signature-replay{display:block;margin:4px auto 0;border:0;background:transparent;color:var(--muted);font:inherit;font-size:12px;cursor:pointer;padding:6px 12px}
.signature-replay[hidden]{display:none}
@media(prefers-reduced-motion:reduce){.signature-replay{display:none}}

/* Equal local-service cards; stack at phone widths. */
.local-partners{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:24px}
.local-partners .lesson-card{display:grid;grid-template-columns:80px minmax(0,1fr);grid-template-rows:1fr auto;align-items:center;gap:18px;margin:0;padding:24px;min-width:0}
.local-partners .lesson-card:not(.has-partner){grid-template-columns:1fr}
.local-partners .lesson-card .lesson-action{grid-column:1/-1;align-items:flex-start;max-width:none;min-width:0}
.local-partners .lesson-card .lesson-link{white-space:normal;text-align:center;max-width:100%;font-size:14px}
.local-partners .lesson-copy h2{font-size:20px}
.local-partners .lesson-logo{width:80px;height:80px}
.local-partners .shop-logo{mix-blend-mode:normal;background:white;border-radius:12px}
@media(max-width:700px){.local-partners{grid-template-columns:1fr;gap:14px}.local-partners .lesson-card{padding:20px;gap:14px;grid-template-columns:72px minmax(0,1fr)}.local-partners .lesson-logo{width:72px;height:72px}.local-partners .lesson-copy h2{font-size:18px}}

/* Optional adventures stay tucked away beneath the surf forecast. */
.activity-disclosure{margin:32px 0;border-radius:var(--radius)}
.activity-disclosure>summary{padding:19px 24px;gap:20px}
.activity-disclosure>summary strong{display:block;font:500 18px/1.4 Manrope,sans-serif}
.activity-summary-note{display:block;font-size:14px;font-weight:400;color:var(--muted);margin-top:3px}
.activity-content{display:grid;grid-template-columns:116px minmax(0,1fr);align-items:center;gap:24px;margin:0 24px;padding:22px 0 24px;border-top:1px solid var(--line)}
.activity-disclosure:not(.has-partner) .activity-content{grid-template-columns:1fr}
#activity-logo{width:116px;height:116px;object-fit:contain}
.activity-copy h2{font:500 21px/1.4 Manrope,sans-serif;margin:0 0 6px}
.activity-copy p{font-size:14px;color:var(--muted);margin:0 0 6px}
.activity-actions{display:flex;align-items:center;flex-wrap:wrap;gap:15px;margin-top:18px}
.activity-actions .lesson-link{white-space:normal;text-align:center}
#activity-instagram{font-size:14px;text-underline-offset:4px}
.activity-destination{display:block;color:var(--muted);font-size:12px;margin-top:7px}
@media(max-width:600px){.activity-disclosure>summary{padding:18px 20px}.activity-content{grid-template-columns:1fr;gap:16px;margin:0 20px;padding-top:18px}#activity-logo{width:90px;height:90px}.activity-copy h2{font-size:19px}.activity-actions{align-items:flex-start;flex-direction:column}.activity-actions .lesson-link{font-size:14px}.activity-summary-note{font-size:13px}}
.header .brand{mix-blend-mode:screen}
.header-logo{display:block;width:240px;height:auto;pointer-events:none}
@media(max-width:1000px){.header-logo{width:200px}}
@media(max-width:600px){.header-logo{width:200px}}
