@font-face{font-family:"FV Ribbon";src:url("fonts/BebasNeue-Regular.ttf") format("truetype");font-display:swap}
@font-face{font-family:"FV Brush";src:url("fonts/Allura-Regular.ttf") format("truetype");font-display:swap}
:root{--paper:#fcf8ed;--ink:#18304a;--navy:#113b69;--green:#4f7d3a;--pink:#d94970;--teal:#1e9b9b;--gold:#e99b1b;--purple:#76559b;--coral:#e46f4d}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 Arial,sans-serif}
.hero{min-height:590px;max-width:1440px;margin:14px auto;position:relative;border:2px solid var(--green);border-radius:18px;overflow:hidden}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 66%}
.wash{position:absolute;inset:0;background:linear-gradient(90deg,rgba(252,248,237,.98),rgba(252,248,237,.8) 39%,rgba(252,248,237,.05) 69%)}
.hero-copy{position:relative;z-index:1;width:min(720px,58%);padding:4.2rem 5vw}
.eyebrow,.mini{font-weight:800;text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;color:var(--green)}
h1{font:700 clamp(3.35rem,5vw,4.75rem)/.95 Georgia,serif;margin:.18em 0 .35em;color:var(--navy);letter-spacing:-.055em;white-space:nowrap}
h1 span{white-space:nowrap}
h1 em{font:400 1.12em/.8 "FV Brush",cursive;color:var(--teal);font-style:normal;white-space:nowrap}
.ribbon{--r:var(--green);position:relative;z-index:1;display:inline-block;margin-left:1rem;padding:.5rem 1.8rem .38rem;background:var(--r);color:#fff;font:400 1.35rem/1 "FV Ribbon",Impact,sans-serif;text-transform:uppercase;letter-spacing:.17em;filter:drop-shadow(0 3px 0 #113b6922)}
.ribbon:before,.ribbon:after{content:"";position:absolute;z-index:-1;top:.45rem;width:1.35rem;height:100%;background:color-mix(in srgb,var(--r),white 12%)}
.ribbon:before{left:-1.05rem;clip-path:polygon(0 10%,100% 0,82% 50%,100% 100%,0 88%,28% 50%)}
.ribbon:after{right:-1.05rem;clip-path:polygon(0 0,100% 10%,72% 50%,100% 88%,0 100%,18% 50%)}
.coral{--r:var(--coral)}
.deck{max-width:500px;font:1.05rem/1.62 Georgia,serif;margin:1.25rem 0}
.button{display:inline-block;padding:.8rem 1rem;border:2px solid var(--navy);border-radius:999px;color:var(--navy);text-decoration:none;text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;font-weight:800;background:#fffdf5}
.button.secondary{margin-left:.5rem;background:var(--navy);color:white}
.welcome{max-width:1120px;margin:5rem auto;padding:0 4vw;display:grid;grid-template-columns:1.05fr .95fr;gap:5vw;align-items:end}
.welcome h2,.weekend h2{font:600 clamp(2.15rem,3.4vw,3.25rem)/1.05 Georgia,serif;color:var(--navy);margin:.25em 0}
.welcome>p{font:1.05rem/1.7 Georgia,serif}
.editorial-note{max-width:1120px;margin:0 auto 5.5rem;padding:1.1rem 4vw;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;border-top:1px solid #bfc9b5;border-bottom:1px solid #bfc9b5}
.editorial-note div{display:flex;flex-direction:column;gap:.15rem}
.editorial-note b{font:700 .9rem Georgia,serif;color:var(--navy)}
.editorial-note span{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:#687362}
.guide-directory{max-width:1180px;margin:0 auto;padding:0 4vw;scroll-margin-top:90px}
.directory-heading{max-width:720px;margin-bottom:2.4rem}
.directory-heading h2{font:600 clamp(2rem,3vw,2.8rem)/1.08 Georgia,serif;color:var(--navy);margin:.25em 0}
.directory-heading>p:last-child{max-width:640px;font:1.02rem/1.65 Georgia,serif}
.guide-groups{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.group-label{margin:0 0 .35rem;padding:0 0 .75rem;border-bottom:3px solid var(--green);color:var(--green);font:400 1rem/1 "FV Ribbon",Impact,sans-serif;letter-spacing:.13em;text-transform:uppercase}
.guide-group:nth-child(2) .group-label{border-color:var(--teal);color:var(--teal)}
.guide-group:nth-child(3) .group-label{border-color:var(--coral);color:var(--coral)}
.guide-group>a{display:grid;grid-template-columns:30px 1fr 20px;gap:.65rem;align-items:start;padding:1.05rem 0;border-bottom:1px solid #cfd6c7;color:var(--ink);text-decoration:none}
.guide-group>a>span{padding-top:.13rem;color:#778372;font:400 .78rem/1 "FV Ribbon",Impact,sans-serif;letter-spacing:.08em}
.guide-group h3{margin:0;color:var(--navy);font:600 1.22rem/1.15 Georgia,serif}
.guide-group p{margin:.3rem 0 0;font-size:.84rem;line-height:1.45;color:#58675c}
.guide-group i{color:var(--green);font:normal 1.1rem/1 Georgia,serif;transition:transform .18s ease}
.guide-group>a:hover h3{color:var(--green)}
.guide-group>a:hover i{transform:translateX(4px)}
.days h3{font:700 1.7rem/1 Georgia,serif;color:var(--navy);margin:.25em 0}
.weekend{max-width:1120px;margin:5.5rem auto;padding:0 4vw}.days{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:2rem}
.days article{padding:2rem;border:1.5px solid var(--accent);border-radius:18px;background:#fffdf7}.days article:first-child{--accent:var(--green)}.days article:last-child{--accent:var(--teal)}
.days span{display:inline-block;padding:.35rem .65rem;border-radius:999px;background:var(--accent);color:white;font:400 1rem "FV Ribbon";letter-spacing:.1em;text-transform:uppercase}
.days h3{font-size:1.8rem}
footer{padding:2rem 5vw;background:var(--navy);color:white;display:flex;justify-content:space-between;text-transform:uppercase;letter-spacing:.12em;font-size:.68rem}
@media(max-width:850px){
  .hero{min-height:680px;margin:10px}.wash{background:linear-gradient(180deg,rgba(252,248,237,.97),rgba(252,248,237,.76) 58%,rgba(252,248,237,.06))}
  .hero-copy{width:100%;padding:3.5rem 8vw}.welcome{grid-template-columns:1fr;gap:1rem}.editorial-note{grid-template-columns:1fr}.guide-groups{grid-template-columns:1fr;gap:2.6rem}.days{grid-template-columns:1fr}
}
@media(max-width:520px){h1{font-size:3.25rem;white-space:normal}h1 span{white-space:normal}.hero{min-height:620px}.welcome,.weekend{margin-top:4rem}.editorial-note{margin-bottom:4rem}.button.secondary{display:block;margin:.7rem 0 0;width:max-content}footer{display:block}footer span{display:block;margin:.3rem 0}}
