:root{--green:#1f4d3a;--green2:#2c6a50;--red:#a0412d;--pale:#f3f8f5;--text:#222a26;--muted:#5f6b65;--line:#e3e8e5}
*{box-sizing:border-box}body{margin:0;font-family:-apple-system,'Segoe UI',Helvetica,Arial,sans-serif;color:var(--text);background:#fff;line-height:1.65}
h1,h2,h3{font-family:Georgia,'Palatino Linotype',serif;color:var(--green);line-height:1.2}
a{color:var(--green2)}a:hover{color:var(--red)}.wrap{max-width:1100px;margin:auto;padding:0 20px}
header{background:var(--green);border-bottom:3px solid var(--red);position:sticky;top:0;z-index:5}header .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;padding:12px 20px}
.logo{color:#fff;font-family:Georgia,serif;font-weight:bold;font-size:1.2rem;text-decoration:none}nav a{color:#e6f0eb;text-decoration:none;margin-left:16px;font-size:.95rem}nav a:hover{color:#fff;text-decoration:underline;text-decoration-color:var(--red)}
.hero{background:var(--pale);text-align:center;padding:90px 20px;border-bottom:1px solid var(--line)}.hero h1{font-size:clamp(2rem,6vw,3.4rem);margin:0 0 10px}.hero h1:after{content:"";display:block;width:70px;height:3px;background:var(--red);margin:16px auto 0}.hero p{font-size:1.2rem;color:var(--green);max-width:640px;margin:0 auto 26px}
.btn{display:inline-block;background:var(--green);color:#fff;padding:12px 26px;border-radius:30px;text-decoration:none;font-weight:600}.btn:hover{background:var(--green2);color:#fff}
section{padding:60px 0}section:nth-of-type(even){background:#fafbfa;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}h2{font-size:2rem;margin-top:0}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:22px}
.card{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:0 2px 8px #0000000a}.card .body{padding:14px 16px}.card h3{margin:0 0 4px;font-size:1.15rem}.price{color:var(--muted);font-style:italic}
.ph{background:#eceeed;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;color:#8a918d;font-size:.9rem;border:1px dashed #c9cecb;border-radius:6px}.card .ph{border-radius:0;border-width:0 0 1px}
.two{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:30px;align-items:center}
.todo{background:#fff8e1;border-left:4px solid #e0b400;padding:6px 10px;font-size:.9rem}
.note{background:var(--pale);border-left:4px solid var(--green);padding:14px 18px;border-radius:6px}
ul.tips li{margin-bottom:8px}footer{background:var(--green);color:#d6e4dc;text-align:center;padding:24px;font-size:.9rem}
@media(max-width:640px){nav{width:100%;margin-top:6px}nav a{margin:0 12px 0 0;font-size:.85rem}.hero{padding:60px 18px}}
.eyebrow{display:block;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--red);font-weight:600;margin-bottom:6px}
h3.sub{font-size:1.5rem;margin:44px 0 14px;padding-top:24px;border-top:1px solid var(--line)}
.offer{display:block;text-decoration:none;background:#fff;border:1px solid var(--line);border-top:3px solid var(--green);border-radius:10px;padding:18px;color:var(--text)}.offer:hover{border-top-color:var(--red);color:var(--text)}.offer h3{margin:0 0 6px}
.offers{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:18px;margin-top:40px;text-align:left}
.btn.alt{background:#fff;color:var(--green);border:2px solid var(--green)}.btn.alt:hover{background:var(--pale);color:var(--green)}
.card ul{padding-left:18px;margin:6px 0}
.logo{display:inline-flex;align-items:center;gap:10px}.badge{background:#fff;border-radius:50%;width:56px;height:56px;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 0 0 2px #ffffff33}.badge img{height:50px;width:auto}
.hero-logo{width:min(300px,70vw);height:auto;display:block;margin:0 auto 8px}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.hero .hero-logo+h1+p{margin-top:0}.hero.slim{padding:50px 20px}
.grid.listings{grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr))}
.listing{display:flex;flex-direction:column}.listing .thumb{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;display:block;background:#eceeed;border-bottom:1px solid var(--line)}
.listing .body{display:flex;flex-direction:column;flex:1}.listing h3{font-size:1.02rem}.listing .btn{margin-top:auto;align-self:flex-start}
.tag{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.cost{font-weight:700;color:var(--green);margin:4px 0 12px}
.btn.small{padding:8px 16px;font-size:.9rem}.more{margin-top:28px;display:flex;flex-wrap:wrap;gap:12px}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}.chip{font:inherit;border:2px solid var(--green);background:#fff;color:var(--green);padding:8px 18px;border-radius:30px;cursor:pointer;font-weight:600}.chip.on{background:var(--green);color:#fff}.chip:hover{border-color:var(--red)}
nav a{white-space:nowrap}
@media(max-width:640px){.grid.listings{grid-template-columns:repeat(2,1fr);gap:12px}.listing .body{padding:10px}.listing h3{font-size:.9rem}.listing .tag{font-size:.62rem}.btn.small{padding:7px 12px;font-size:.8rem}}
nav{display:flex;flex-wrap:wrap;column-gap:16px;row-gap:2px}nav a{margin:0!important}

.chips.series{align-items:center;gap:8px;margin:-10px 0 26px;padding:12px 14px;background:var(--pale);border-radius:10px}.chips-label{font-size:.85rem;font-weight:600;color:var(--muted);margin-right:4px}
.chip.sm{padding:5px 14px;font-size:.9rem;border-width:1.5px}.chips.series .chip.on{background:var(--red);border-color:var(--red)}
.series-h{grid-column:1/-1;margin:18px 0 0;padding-bottom:6px;border-bottom:2px solid var(--line);font-size:1.35rem}.series-h:first-child{margin-top:0}.series-h span{font-family:-apple-system,'Segoe UI',Helvetica,Arial,sans-serif;font-size:.8rem;font-weight:400;color:var(--muted);margin-left:6px}
@media(max-width:640px){.chips.series{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}.chips.series .chip,.chips-label{flex:none}.series-h{font-size:1.1rem}}
@media(max-width:640px){#typechips .chip{padding:7px 14px;font-size:.9rem}}
/* v2 logo: navy badge kept as-is (tan text needs the dark background) */
.badge{background:#2f3d52;overflow:hidden;box-shadow:0 0 0 2px #fff,0 2px 6px #00000040}.badge picture,.badge img{display:block;width:100%;height:100%}.badge img{object-fit:cover}
.hero-logo{width:min(300px,70vw);height:auto;aspect-ratio:1/1;border-radius:50%;box-shadow:0 0 0 4px #fff,0 0 0 5px var(--line),0 10px 28px #1f4d3a33;margin:0 auto 22px}
/* faded PNW mountain ridges (assets/mountains*.svg, opacity baked into the SVG; SVG uses xMidYMax slice) */
.hero{position:relative;isolation:isolate;overflow:hidden}
.hero .offers{position:relative}.hero .offers::before{content:"";position:absolute;z-index:-1;left:50%;transform:translateX(-50%);width:100vw;bottom:calc(100% - clamp(40px,6vw,90px));height:clamp(170px,22.2vw,320px);background:url(assets/mountains-hero.svg) center bottom/100% 100% no-repeat;pointer-events:none}
.hero.slim{background:var(--pale) url(assets/mountains-light.svg) center bottom no-repeat;background-size:100% clamp(80px,12vw,170px);padding-bottom:clamp(60px,9vw,120px)}
footer{position:relative}footer::before{content:"";position:absolute;left:0;right:0;bottom:100%;height:clamp(100px,19vw,270px);background:url(assets/mountains-light.svg) center bottom/100% 100% no-repeat;pointer-events:none}
section:last-of-type{padding-bottom:clamp(130px,21vw,300px)}
