/* Hallmark 2.0.0 | Original client specific composition, finishing pass */
/* Critique: source polishing complete; independent rendered reviews pending. */
/* waive 7b: retain deliberate white paper and issuer mark contrast in civic service interface. */
/* waive 24b: preserve established optical spacing in this focused refinement; not a token-scale migration. */
@font-face{font-family:Manrope;src:url(assets/manrope.woff2) format('woff2');font-display:swap}
@font-face{font-family:Fraunces;src:url(assets/fraunces.woff2) format('woff2');font-display:swap}
:root{--ink:#073d3b;--paper:#fff;--white:#fff;--accent:#ffc794;--soft:#edf3f6;--line:#bac7d6;--focus:#ad3417;--body:Manrope,Arial,sans-serif;--display:Fraunces,Georgia,serif;--shade:rgba(0,0,0,.16)}
*{box-sizing:border-box}html,body{margin:0;overflow-x:clip}html{scroll-behavior:smooth;scroll-padding-top:30px}body{font:17px/1.65 var(--body);background:var(--paper);color:var(--ink)}a{color:inherit;text-underline-offset:5px}button,input,textarea,select{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}h1,h2,h3{line-height:1.06;letter-spacing:-.035em;overflow-wrap:break-word;min-width:0;text-wrap:balance}h1,h2,p{margin-top:0}h1{font:500 clamp(48px,5.6vw,78px)/1.04 var(--display);letter-spacing:-.04em}h2{font-size:clamp(34px,4.2vw,57px)}h3{font-size:28px}p{max-width:65ch}img{max-width:100%;display:block}button{border-radius:0}a,button,input,select,textarea{transition:background-color .18s,color .18s}:focus-visible{outline:3px solid var(--focus);outline-offset:5px;transition:none}::selection{background:var(--accent);color:var(--ink)}.skip{position:absolute;top:-100px;left:20px;background:var(--accent);z-index:10;padding:12px}.skip:focus{top:12px}.wrap{max-width:1240px;padding:0 32px;margin:auto}header{padding:25px 0;background:var(--white)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}header img{width:220px;height:65px;object-fit:contain;object-position:left}nav{display:flex;gap:28px;flex-wrap:wrap;font-size:15px;font-weight:700}nav a{text-decoration:none;padding:8px 0;border-bottom:2px solid transparent}nav a:hover{border-bottom-color:currentColor}.primary{display:inline-flex;align-items:center;justify-content:center;padding:16px 25px;background:var(--ink);color:var(--white);text-decoration:none;font-weight:700;min-height:54px}.primary:hover{background:var(--accent);color:var(--ink)}.secondary{display:inline-block;padding:14px 0;font-weight:700;margin-left:25px}section{padding:90px 0}footer{padding:75px 0 30px;background:var(--ink);color:var(--white)}footer h2{font:500 clamp(43px,6vw,76px)/1.05 var(--display);max-width:12ch}.footer-top{display:flex;justify-content:space-between;gap:50px}.footer-actions{padding-top:12px;display:flex;flex-direction:column;align-items:flex-start;gap:18px}.footer-actions .primary{background:var(--accent);color:var(--ink)}.footer-meta{padding-top:35px;margin-top:50px;border-top:1px solid currentColor;font-size:13px;max-width:73ch}.footer-meta details{margin-top:14px}.footer-meta summary{cursor:pointer;font-weight:700;padding:10px 0}.footer-meta p{max-width:73ch}.footer-meta a{display:inline-block;margin-right:20px}.walkthrough{margin-top:20px}video{max-width:100%;max-height:600px;background:var(--ink)}.editor{max-width:850px;margin:auto;padding:40px 28px 70px}.editor h1{font-size:55px;margin-top:25px}.editor label{display:block;margin-top:20px;font-weight:700}.editor input,.editor textarea,.editor select{width:100%;padding:12px;border:1px solid var(--line);background:var(--white);color:var(--ink)}.editor .hint{font-size:14px;margin:8px 0}.editor .actions{display:flex;gap:15px;flex-wrap:wrap;margin-top:25px}.editor button{border:0;padding:14px 22px;background:var(--ink);color:var(--white)}.editor button[type=button]{background:var(--soft);color:var(--ink)}.editor #save-status{margin-top:18px;font-weight:700}.draft-notice{padding:12px 25px;background:var(--accent);color:var(--ink);font-size:14px}.draft-story{border-top:2px solid var(--ink);padding:28px 0;margin-top:30px}.draft-story p{max-width:65ch}.quiet{font-size:14px}.empty{padding:25px 0;font-weight:700}.arrival h1{max-width:12ch}.arrival p{font-size:20px;max-width:42ch}.arrival .primary{margin-top:10px}.content-links a{display:flex;justify-content:space-between;gap:25px;border-top:1px solid var(--line);padding:23px 0;text-decoration:none;font-size:24px;font-weight:700}.content-links a:hover{color:var(--focus)}.content-links span{font-weight:400;font-size:15px;max-width:25ch}.content-links svg{width:24px;height:24px;flex:none;margin-top:6px}.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:85px}.edit-hint{margin-top:35px}.keep-up p{font-size:20px}@media(max-width:740px){body{font-size:16px}.wrap{padding:0 22px}.header-inner{align-items:flex-start;flex-direction:column;gap:12px}header{padding:18px 0}header img{width:190px;height:51px}nav{gap:20px;font-size:14px}section{padding:60px 0}h1{font-size:50px}h2{font-size:38px}.split{grid-template-columns:minmax(0,1fr);gap:28px}.secondary{margin-left:0;margin-top:12px;display:block}.footer-top{flex-direction:column;gap:25px}footer h2{font-size:51px}.footer-meta{margin-top:30px}.content-links a{font-size:22px;gap:15px}.content-links span{font-size:14px}.editor{padding:25px 20px}.editor h1{font-size:42px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}

.arrival{position:relative;isolation:isolate;min-height:610px;padding:0;background:var(--ink)}.arrival>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 32%;z-index:-1;animation:coast-settle 1.5s cubic-bezier(.16,1,.3,1) both}.arrival-inner{min-height:610px;display:flex;justify-content:space-between;align-items:center;padding-top:45px;padding-bottom:45px;gap:40px}.intro{background:var(--paper);padding:35px 36px;max-width:500px}.arrival-caption{align-self:flex-end;background:var(--ink);color:var(--white);font-size:13px;padding:12px 18px;max-width:250px}.services label{display:block;font-size:14px;font-weight:700;margin:27px 0 10px}.services form>div{display:flex}.services input{min-width:0;flex:1;padding:14px;border:1px solid var(--ink);background:var(--white);color:var(--ink)}.services button{border:0;padding:14px;background:var(--ink);color:var(--white)}#count{font-size:14px;margin-top:13px}.services .content-links span{display:block;max-width:36ch;margin-top:7px}.beaches{background:var(--ink);color:var(--white)}.beach-inner{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center;gap:75px}.beach-inner img{height:500px;width:100%;object-fit:cover}.beaches h2{font-family:var(--display);font-weight:500}.beaches .primary{background:var(--accent);color:var(--ink)}.photo-credit{margin-top:25px;font-size:12px}.involved .content-links span{display:block;margin-top:7px}.keep-up{background:var(--soft)}.audience-links{display:flex;gap:30px;border-top:1px solid var(--line);margin-top:35px}.audience-links a{padding:23px 0;text-decoration:none;font-size:26px;font-weight:700;flex:1;display:flex;align-items:center;justify-content:space-between}.audience-links svg{width:24px;height:24px}footer{background:var(--accent);color:var(--ink)}@keyframes coast-settle{from{transform:scale(1.04)}to{transform:scale(1)}}@media(max-width:740px){.arrival-inner{min-height:720px;flex-direction:column;align-items:stretch;justify-content:flex-end;gap:20px}.intro{padding:25px;max-width:none}.arrival-caption{font-size:12px;align-self:flex-end}.arrival h1{font-size:48px}.beach-inner{grid-template-columns:minmax(0,1fr);gap:30px}.beach-inner img{height:320px}.services form>div{display:block}.services input,.services button{width:100%}.audience-links{flex-direction:column;gap:0}.audience-links a{border-bottom:1px solid var(--line)}}

button:active,.primary:active{transform:translateY(1px)}button:disabled{background:var(--soft);color:var(--ink);cursor:wait;border:1px solid var(--line)}input:invalid:focus{outline-color:var(--focus)}

.beaches :focus-visible{outline-color:var(--white)}footer :focus-visible{outline-color:var(--ink)}

.city-brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:700;line-height:1.15}.city-brand img{width:70px;height:60px;object-fit:contain}.city-brand span{font-size:20px}@media(max-width:740px){.city-brand img{width:56px;height:48px}.city-brand span{font-size:18px}}
