/* The Long Weekend Plan website. Shared look (from the My Plan design). Text never below 13px. */
:root{--ink:#1E211E;--ink2:#20231F;--body:#555A54;--muted:#666A63;--gold:#B78F42;--gold-d:#624A18;--line:#CFB77D;--cream:#F5F0E6;--paper:#FFFDF8;--navy:#0F141C;--navy2:#161D28;--cream-t:#F4EFE3}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:17px;line-height:1.65}
img{max-width:100%;height:auto;display:block}
a{color:var(--gold-d)}
.wrap{max-width:1180px;margin:0 auto;padding:0 6%}
.serif{font-family:Georgia,'Times New Roman',serif}
/* header */
.hdr{position:sticky;top:0;z-index:50;background:var(--navy);color:var(--cream-t);border-bottom:1px solid #2A3240}
.hdr .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:64px}
.brand{font-family:Georgia,serif;font-size:21px;color:var(--cream-t);text-decoration:none;white-space:nowrap}
.nav{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.nav>div{position:relative}
.nav a,.nav button{display:block;color:#E9E3D3;text-decoration:none;font:600 14px Arial,sans-serif;padding:10px 12px;border-radius:7px;background:none;border:0;cursor:pointer}
.nav a:hover,.nav button:hover,.nav .on>a,.nav .on>button{color:#fff;background:rgba(255,255,255,.07)}
.nav .sub{display:none;position:absolute;left:0;top:100%;min-width:230px;background:var(--navy2);border:1px solid #2A3240;border-radius:10px;padding:6px;box-shadow:0 16px 40px rgba(0,0,0,.35)}
.nav>div:hover .sub,.nav>div:focus-within .sub{display:block}
.nav .cta{background:linear-gradient(135deg,#F4ECD9,#EFE5CE);color:var(--gold-d)!important;border:1px solid #C6A760;margin-left:8px}
.menu-btn{display:none;background:none;border:1px solid #3A4352;color:#E9E3D3;border-radius:8px;padding:8px 12px;font:600 14px Arial}
@media(max-width:980px){.menu-btn{display:block}.nav{display:none;position:absolute;left:0;right:0;top:64px;background:var(--navy);flex-direction:column;align-items:stretch;padding:10px 6% 18px;border-bottom:1px solid #2A3240}.nav.open{display:flex}.nav .sub{display:block;position:static;background:none;border:0;box-shadow:none;padding:0 0 0 14px}.nav .cta{margin:8px 0 0}}
/* sections */
.band{padding:64px 0}
.band.dark{background:var(--navy);color:var(--cream-t)}
.band.dark p,.band.dark li{color:#C9C2AF}
.band.paper{background:var(--paper)}
.band.sand{background:#EFE7D6}
.kicker{color:var(--gold);font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin:0 0 12px}
h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.015em;color:inherit}
h1{font-size:clamp(38px,5vw,62px);line-height:1.04;margin:0 0 20px}
h2{font-size:clamp(28px,3.4vw,40px);line-height:1.12;margin:0 0 16px}
h3{font-size:24px;line-height:1.2;margin:0 0 8px}
.lead{font-size:19px;color:var(--body);max-width:720px}
.band.dark .lead{color:#C9C2AF}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media(max-width:860px){.grid2,.grid3{grid-template-columns:1fr}}
.card{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:26px;box-shadow:0 10px 26px rgba(55,43,21,.06)}
.band.dark .card{background:var(--navy2);border-color:#2E3746;box-shadow:none}
.card p{margin:0 0 14px;color:var(--body)}
.band.dark .card p{color:#C9C2AF}
.tool img{border-radius:12px;margin-bottom:18px;aspect-ratio:1/1;object-fit:cover;width:100%}
.btn{display:inline-block;background:linear-gradient(135deg,#F4ECD9,#EFE5CE);color:var(--gold-d);border:1px solid #C6A760;font-weight:700;font-size:16px;padding:13px 24px;border-radius:9px;text-decoration:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 4px 12px rgba(61,48,25,.08)}
.btn.dark{background:#1E211E;color:var(--cream-t);border-color:#1E211E}
.link{font-weight:700;text-decoration:none}
.pill{display:inline-block;background:#1E211E;color:var(--cream-t);border-radius:999px;padding:6px 13px;font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:16px}
.ticks{list-style:none;padding:0;margin:0}
.ticks li{padding:10px 0 10px 30px;border-top:1px solid rgba(143,113,58,.18);position:relative}
.ticks li:before{content:'';position:absolute;left:4px;top:18px;width:12px;height:7px;border-left:2px solid var(--gold);border-bottom:2px solid var(--gold);transform:rotate(-45deg)}
.hero-img{position:relative;background:var(--navy);color:var(--cream-t);overflow:hidden}
.hero-img img{width:100%;max-height:560px;object-fit:cover;object-position:center 70%}
.hero-img .over{position:absolute;inset:0;display:flex;align-items:flex-start;padding-top:6%}
.hero-img h1{color:var(--cream-t);max-width:760px}
.hero-img p{color:#D8D1BF;max-width:620px;font-size:19px}
@media(max-width:760px){.hero-img .over{position:static;padding:28px 0 8px}.hero-img img{max-height:260px}}
/* footer */
.ftr{background:var(--navy);color:#A9A391;font-size:14px;padding:40px 0}
.ftr a{color:#E9E3D3}
.ftr .cols{display:flex;flex-wrap:wrap;gap:28px;justify-content:space-between}
.disc{font-size:14px;color:#8E8877;max-width:900px;margin-top:22px;line-height:1.6}
.nav{flex-wrap:nowrap}.nav a,.nav button{padding:9px 10px}
@media(max-width:1200px){.menu-btn{display:block}.nav{display:none;position:absolute;left:0;right:0;top:64px;background:var(--navy);flex-direction:column;align-items:stretch;padding:10px 6% 18px;border-bottom:1px solid #2A3240}.nav.open{display:flex}.nav .sub{display:block;position:static;background:none;border:0;box-shadow:none;padding:0 0 0 14px}.nav .cta{margin:8px 0 0}}
.hero-img .over{background:linear-gradient(90deg,rgba(15,20,28,.92) 0%,rgba(15,20,28,.75) 45%,rgba(15,20,28,0) 75%)}
.nav a,.nav button{white-space:nowrap;font-size:14px}.nav{gap:0}
.g-wide{grid-template-columns:1.08fr .82fr}.g-book{grid-template-columns:.6fr 1.4fr}@media(max-width:860px){.g-wide,.g-book{grid-template-columns:1fr}.g-book img{max-width:260px}}
/* FIX97: use the full screen width; long text stays at a readable line length */
.wrap{max-width:none;padding:0 4%}
.lead,.band p{max-width:none}
.band .lead{max-width:1000px}
.nav a,.nav button{font:700 15px Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased;letter-spacing:.005em}
.social{display:flex;gap:12px}.social a{display:inline-flex;width:40px;height:40px;border-radius:50%;background:#1E2633;align-items:center;justify-content:center}.social a:hover{background:#2C3646}.social svg{width:20px;height:20px;fill:#E9E3D3}
details.howto{margin-top:18px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}
details.howto summary{cursor:pointer;padding:16px 20px;font-weight:700;font-size:17px;list-style:none}
details.howto summary::before{content:'+ ';color:var(--gold)}details.howto[open] summary::before{content:'\2212  '}
details.howto .in{padding:0 22px 18px}
.hero-img .over .wrap{width:100%}
.hero-img img{max-height:none;height:clamp(460px,44vw,760px);object-position:center bottom}
/* FIX97b: keep the menu visible; on narrower screens it wraps under the name, and only phones get the Menu button */
@media(max-width:1200px) and (min-width:761px){.menu-btn{display:none}.hdr .wrap{flex-wrap:wrap;padding-top:8px;padding-bottom:8px}.nav{display:flex;position:static;flex-direction:row;flex-wrap:wrap;padding:0;border:0;background:none}.nav .sub{display:none;position:absolute;background:var(--navy2);border:1px solid #2A3240;padding:6px}.nav>div:hover .sub,.nav>div:focus-within .sub{display:block}.nav .cta{margin:0 0 0 6px}}
@media(max-width:760px){.menu-btn{display:block}.nav{display:none;position:absolute;left:0;right:0;top:64px;background:var(--navy);flex-direction:column;align-items:stretch;padding:10px 6% 18px;border-bottom:1px solid #2A3240}.nav.open{display:flex}.nav .sub{display:block;position:static;background:none;border:0;box-shadow:none;padding:0 0 0 14px}}
/* FIX97c: video rows line up even when a title wraps to two lines */
.vidgrid{row-gap:34px}
.vidgrid>div{display:grid;grid-row:span 4;grid-template-rows:subgrid;row-gap:0}
.vidgrid>div>h3{align-self:end}

/* 18 Oct 2026: member quote */
.quote{margin:22px 0 0;padding:14px 18px;border-left:3px solid var(--gold);background:var(--cream);font:italic 17px/1.5 Georgia,"Times New Roman",serif;color:var(--ink)}
.quote span{display:block;margin-top:8px;font:500 13px/1.4 Inter,system-ui,sans-serif;font-style:normal;color:var(--muted)}
.hero-signin{margin-top:12px;font-size:15px;line-height:1.6;color:rgba(244,239,227,.82)}.hero-signin b{color:var(--cream-t)}.hero-signin a{color:#E2C27A}

/* Footer columns (19 Oct 2026) */
.fcols{display:grid;grid-template-columns:1.35fr repeat(4,1fr) 1.15fr;gap:28px}
.fcols h4{color:#E9E3D3;font:700 14px Arial,sans-serif;margin:0 0 12px;letter-spacing:.02em}
.fcols a{display:block;color:#C9C2AF;text-decoration:none;margin:0 0 9px;line-height:1.4}
.fcols a:hover{color:#fff;text-decoration:underline}
.fbrand b{color:#E9E3D3}.fbrand p{margin:6px 0 16px;line-height:1.5}
.fcols a.fbtn,.fcols a.fjoin{display:inline-block;border:1px solid #C6A760;color:#F4ECD9;border-radius:8px;padding:9px 14px;font-weight:700;margin:0 0 14px;white-space:nowrap}
.fcols a.fbtn:hover,.fcols a.fjoin:hover{background:#1E2633;text-decoration:none}
.fcols .social a{display:inline-flex;margin:0}
@media(max-width:980px){.fcols{grid-template-columns:repeat(3,1fr)}.fbrand{grid-column:1/-1}}
@media(max-width:600px){.fcols{grid-template-columns:1fr 1fr}}
