:root{--ink:#443425;--blue:#087d82;--muted:#5e4934;--line:#bc9559;--paper:#f2cd8b}
body{background:var(--paper);font-family:'Trebuchet MS',Arial,sans-serif}
.wrap{width:min(1050px,calc(100% - 80px))}
.navigation{position:absolute;top:0;left:50%;transform:translateX(-50%);z-index:5;min-height:108px;border:0;color:#fff9e8}
.wordmark{font-style:italic;font-size:2.2rem;letter-spacing:-.07em}
.wordmark span{font-style:normal;font-size:.75rem;letter-spacing:.12em}
nav{font-weight:700}nav a:hover,.navigation .wordmark:hover{color:#ffe0a1}
nav .contact-link{border:1px solid #fff9e8;border-radius:30px;padding:9px 21px}
.beach{position:relative;isolation:isolate;background:transparent;min-height:100svh;overflow:hidden}
#surf{position:absolute;inset:0 0 auto;width:100%;height:70vh;min-height:420px;max-height:750px;z-index:-1;pointer-events:none}
.hero{padding:clamp(390px,55vh,590px) 0 72px;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end}
h1,h2{font-family:Georgia,serif;letter-spacing:-.055em}
h1{font-size:clamp(3.6rem,7vw,6.6rem);line-height:1.02;color:#80542e;text-shadow:0 2px 1px #ffeac0,0 -2px 1px #674326;transform:rotate(-2deg);transform-origin:left bottom;margin:0 0 27px}
h1 em{color:inherit}
.hero-bottom{display:flex;justify-content:space-between;align-items:center;gap:28px}
.hero-bottom p{color:#533e2a;font-size:1.14rem;max-width:390px;margin:0}
.button{border-radius:40px;background:#125b64;color:#fff9e8;border:0;font-weight:700;box-shadow:0 3px 0 #083a42;padding:14px 24px}
.button:hover{background:#18707a;color:#fff;transform:translateY(-2px)}
.beach-trail{position:relative;isolation:isolate;background:var(--paper)}
.beach-trail>.section{position:relative;isolation:isolate}
.section,#services,.process,#fit,.contact{background:transparent;border:0;border-radius:0;margin:0;padding:72px 0;color:var(--ink)}
.beach-trail .wrap{width:min(880px,70%)}
.split{grid-template-columns:.8fr 1.25fr;gap:65px}
h2{font-size:clamp(2.4rem,4vw,3.6rem);line-height:1.07;text-shadow:0 1px #ffe9bd}
.service-row{grid-template-columns:1fr;gap:0;border-color:#a6855659;padding:24px 0}
.service-row h3,.process h3{font-size:1.15rem}
.service-row p,.process li p,.about-copy,.intro{color:#57432f}
.process li{border-color:#a6855659}.process li::before{color:#765434}
.about-copy{font-size:1.1rem}
.contact .intro,.form-note{color:#57432f}
.contact .button{background:#125b64;color:#fff9e8}
.contact .button:hover{background:#18707a}
input,textarea{background:#fff5decc;border:1px solid #aa875b;border-radius:7px;color:#493522}
.form-note{font-size:.875rem}.form-status{color:#493522}
footer{background:var(--paper);color:#57432f;border:0;padding:28px 0}
.footer-inner p{color:#57432f}.footer-inner>p:nth-child(2){display:none}
:focus-visible{outline:3px solid #dc8245;outline-offset:4px}
@media(max-width:900px){.split{gap:35px}.hero-bottom{align-items:flex-start;flex-direction:column}.hero{padding-top:420px}.beach-trail .wrap{width:72%}.fields{grid-template-columns:1fr;gap:0}}
@media(max-width:620px){.wrap{width:calc(100% - 40px)}.navigation{padding:20px 0;gap:12px;min-height:110px;align-content:flex-start}.wordmark{font-size:1.85rem}nav{gap:14px;font-size:.875rem}nav .contact-link{padding:6px 12px}.hero{padding:390px 0 55px;min-height:100svh}h1{font-size:clamp(3rem,12vw,4.4rem)}.hero-bottom p{font-size:1rem}.motion-toggle{top:145px;right:20px}#surf{height:480px;min-height:0}.beach-trail .wrap{width:76%}.section,#services,.process,#fit,.contact{padding:65px 0}.split{grid-template-columns:1fr;gap:20px}h2{font-size:2.5rem}.contact .button{width:100%}.footer-inner{gap:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
.service-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:55px;row-gap:28px;margin-top:55px;align-items:start}
.service-grid .service-row{display:block;border-top:2px solid #18868a;padding:26px 8px 24px 0;transition:transform .2s ease}
.service-grid .service-row:nth-child(even){margin-top:45px;border-color:#ca7342}
.service-grid .service-row h3{font-size:1.3rem;color:#075f65;line-height:1.35}
.service-grid .deliverable{margin-top:22px;font-size:.95rem;font-weight:600;color:#60442a;padding-left:15px;border-left:3px solid #d58a4c}
@media(hover:hover){.service-grid .service-row:hover{transform:translateY(-4px)}}
#services h2{max-width:650px}
.process h2{text-align:center;margin-bottom:55px}
.process ol{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.process li,.process li:first-child{display:block;border-top:1px solid #a6855680;padding:24px 0 0}
.process li::before{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:#0c7c80;color:#fff4d9;font:italic 2.2rem Georgia,serif;margin-bottom:24px;box-shadow:4px 4px 0 #d7a962}
.about-layout{display:flex;align-items:flex-start;gap:65px;flex-direction:row-reverse}
.about-copy{flex:1}.answers{flex:1;min-width:0}
.answers details{border-bottom:1px solid #a6855680;padding:22px 0}
.answers summary{font-weight:700;cursor:pointer;font-size:1.05rem;color:#075f65;padding:4px 0}
.answers details[open]{background:transparent;padding:22px 0;border-radius:0}
.answers details p{margin:16px 0 0;color:#57432f}
.contact-layout{max-width:620px}.contact-layout h2{text-align:center}
.contact .intro{max-width:500px;text-align:center;margin:0 auto 38px}
.contact form{position:relative;padding:42px;background:#fff1cd;border:2px solid #13797b;border-radius:26px 8px 26px 8px;box-shadow:9px 9px 0 #d9aa61}
.contact form::before{content:"";position:absolute;top:0;left:32px;right:32px;height:7px;background:repeating-linear-gradient(120deg,#16888a 0 16px,transparent 16px 26px,#dd8754 26px 42px,transparent 42px 52px)}
.contact label{color:#075f65;font-weight:700}
.contact label span{font-weight:400;color:#66543d}
.contact input,.contact textarea{background:#fffae966;border:0;border-bottom:2px solid #bb9a64;border-radius:5px 5px 0 0;padding:13px 12px;transition:background .15s,border-color .15s}
.contact input:focus,.contact textarea:focus{background:#fff9e6;border-color:#087d82;outline:2px solid #087d8255;outline-offset:2px}
.contact .button,.button{background:#087d82;box-shadow:0 3px 0 #075257}
.contact .button:hover,.button:hover{background:#08676d}
.contact .button{width:100%;margin-top:5px}
.contact .form-note{font-size:.875rem;line-height:1.55}
#services h2,.process h2,.about-copy h2,.contact h2{color:#111111}
h1{font-size:clamp(3.2rem,6.3vw,6rem)}
@media(max-width:700px){.service-grid{grid-template-columns:1fr;gap:30px;margin-top:35px}.process ol{grid-template-columns:1fr;gap:28px}.process li,.process li:first-child{display:grid;grid-template-columns:46px 1fr;gap:20px}.process h2{text-align:left}.about-layout{flex-direction:column;gap:22px}.answers{width:100%}.contact form{padding:20px}.beach-trail .wrap{width:calc(100% - 64px)}h1{font-size:clamp(2.8rem,9.7vw,4rem)}.contact-layout h2,.contact .intro{text-align:left}}
@media(max-width:700px){.service-grid .service-row:nth-child(even){margin-top:0}.process li::before{width:44px;height:44px;font-size:1.6rem}.contact form{padding:30px 20px 24px;box-shadow:5px 5px 0 #d9aa61}.service-grid .service-row{padding-bottom:8px}.answers details[open]{padding-left:10px;padding-right:10px}}
@media(prefers-reduced-motion:reduce){.service-grid .service-row{transition:none;transform:none!important}}
.answers details[open]{padding-left:0;padding-right:0}
@media(max-width:700px){.section,#services,.process,#fit,.contact{padding:48px 0}}

/* Search impact: sand, ocean facets and readable data. */
.tide-passage{height:24px;min-height:0}.tide-ready .tide-passage{height:48svh;min-height:220px}
#scroll-tide{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:20;visibility:hidden}
#impact{padding-top:32px;padding-bottom:48px}
#impact h2{color:#111;text-align:center;margin-bottom:20px}
.impact-intro{text-align:center;max-width:510px;margin:0 auto 46px}
.beach-trail #impact .wrap{width:min(1050px,calc(100% - 80px))}
.impact-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px}
.impact-grid article{min-width:0;padding:32px 0;border-top:2px solid #997143}
.impact-grid h3{font-size:1.25rem;margin-bottom:26px;color:#111}
.rank-reading{min-height:190px}
.rank-reading strong,.potential-result strong{display:block;font:400 clamp(3.8rem,7vw,6rem)/1 Georgia,serif;letter-spacing:-.06em;color:#075f65;font-variant-numeric:tabular-nums}
.rank-reading p{max-width:320px;margin:20px 0 30px}
.rank-chart{display:grid;gap:15px;padding:14px 0}
.rank-bar{display:grid;grid-template-columns:78px 1fr 45px;gap:12px;align-items:center;background:none;border:0;padding:12px 0;color:#443425;cursor:pointer;text-align:left;font-size:.95rem;min-height:48px}
.rank-bar b{text-align:right;font-weight:400}
.bar-track{height:40px;display:block;background:#bb985333;overflow:hidden}
.bar-fill{display:block;width:var(--bar);height:100%;background:linear-gradient(135deg,#168c90 0 35%,#08747e 35% 67%,#48aaa6 67%);clip-path:polygon(0 0,calc(100% - 7px) 0,100% 50%,calc(100% - 7px) 100%,0 100%);opacity:.55;transition:opacity .2s}
.rank-bar[aria-pressed="true"] .bar-fill{opacity:1}.rank-bar[aria-pressed="true"]>span:first-child{font-weight:700}
.chart-caption{font-size:.875rem;line-height:1.6;margin:14px 0 24px}
.source-note{font-size:.875rem;line-height:1.6;color:#5b4632;margin:24px 0 0}.source-note a{white-space:nowrap}
.potential-panel>p{margin-bottom:24px}
.potential-result{display:flex;align-items:center;gap:24px;min-height:100px}.potential-result span{line-height:1.5}
.potential-chart{display:block;width:100%;height:auto;margin:15px 0 24px;overflow:visible}.potential-chart text{font:14px 'Trebuchet MS',sans-serif;fill:#5b4632}
.range-label{display:flex;justify-content:space-between;gap:15px;margin:18px 0 0;font-size:.95rem}.range-label output{font-weight:700;color:#075f65}
#impact input[type="range"]{accent-color:#087d82;background:transparent;border:0;padding:0;min-height:38px;height:38px;border-radius:0;cursor:pointer;width:100%}
@media(max-width:700px){.impact-grid{grid-template-columns:1fr;gap:24px}.beach-trail #impact .wrap{width:calc(100% - 48px)}#impact h2{text-align:left}.impact-intro{text-align:left;margin-bottom:30px}.impact-grid article{padding:26px 0}.rank-reading{min-height:0}.rank-reading strong,.potential-result strong{font-size:4.6rem}.rank-bar{grid-template-columns:76px 1fr 43px;gap:8px}.tide-ready .tide-passage{height:35svh;min-height:170px}.navigation nav{gap:18px}.potential-result{gap:18px}}
@media(prefers-reduced-motion:reduce){.tide-ready .tide-passage{height:24px;min-height:0}#scroll-tide{display:none}.bar-fill{transition:none}}

/* Native range controls, restyled for the sand and sea palette. */
#impact input[type="range"]{appearance:none;-webkit-appearance:none;--fill:20%;height:44px;background:transparent;box-shadow:none;touch-action:pan-y}
#impact input[type="range"]::-webkit-slider-runnable-track{height:8px;border:1px solid #b78d50;border-radius:8px;background:linear-gradient(to right,#087d82 0 var(--fill),#d9b16e var(--fill) 100%);box-shadow:0 1px 0 #ffe2a8}
#impact input[type="range"]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:24px;height:24px;margin-top:-9px;border:3px solid #fff0cc;border-radius:50%;background:#087d82;box-shadow:0 2px 0 #795b32;cursor:grab}
#impact input[type="range"]:active::-webkit-slider-thumb{cursor:grabbing;background:#07596b}
#impact input[type="range"]::-moz-range-track{height:6px;border:1px solid #b78d50;border-radius:8px;background:#d9b16e}
#impact input[type="range"]::-moz-range-progress{height:6px;border-radius:8px;background:#087d82}
#impact input[type="range"]::-moz-range-thumb{width:18px;height:18px;border:3px solid #fff0cc;border-radius:50%;background:#087d82;box-shadow:0 2px 0 #795b32;cursor:grab}
#impact input[type="range"]:focus-visible{outline:2px solid #087d82;outline-offset:2px;border-radius:8px}

#impact h2{margin-bottom:44px}@media(max-width:620px){#impact h2{margin-bottom:30px}}
