.wh-page { --wh-ink:#2f3c31; --wh-muted:#626b61; --wh-cream:#f7f4ed; --wh-line:#dadfd3; --wh-olive:#344d3b; color:var(--wh-ink); background:var(--wh-cream); }
.wh-page * { box-sizing:border-box; }
.wh-shell { width:min(1180px,calc(100% - 64px)); margin-inline:auto; }
.wh-page h1,.wh-page h2,.wh-page h3,.wh-page p,.wh-page figure { margin:0; }
.wh-page h1,.wh-page h2 { font-family:Georgia,'Times New Roman',serif; font-weight:400; letter-spacing:-.045em; line-height:1.08; color:var(--wh-ink); }
.wh-page h1 { font-size:clamp(3rem,5.4vw,5.2rem); }
.wh-page h2 { font-size:clamp(2.3rem,3.5vw,3.5rem); }
.wh-page h3 { font-size:1.35rem; line-height:1.3; letter-spacing:-.025em; }
.wh-page h1 em,.wh-page h2 em { font-weight:400; }
.wh-page p { line-height:1.75; }
.wh-page a { color:inherit; }
.wh-page img { display:block; width:100%; height:auto; }
.wh-page a:focus-visible,.wh-page summary:focus-visible { outline:3px solid #99784f; outline-offset:5px; }
.wh-page .wh-eyebrow { margin:0 0 22px; font-size:.7rem; font-weight:650; letter-spacing:.13em; text-transform:uppercase; line-height:1.6; }
.wh-hero { padding-block:70px 85px; display:grid; grid-template-columns:1.1fr 1fr; gap:65px; align-items:center; }
.wh-hero .wh-lead { margin-top:26px; max-width:460px; font-size:1.08rem; color:var(--wh-muted); }
.wh-actions { display:flex; flex-wrap:wrap; align-items:center; gap:22px; margin-top:30px; }
.wh-page .wh-button { display:inline-flex; justify-content:space-between; align-items:center; gap:24px; min-height:52px; padding:15px 22px; background:var(--wh-olive); color:white; border:1px solid transparent; border-radius:5px; font-size:.87rem; line-height:1.4; font-weight:650; text-decoration:none; transition:background .2s,transform .2s; }
.wh-page .wh-button:hover { background:#253d2d; transform:translateY(-2px); }
.wh-button>span { font-size:1.2rem; }
.wh-page .wh-button--light { background:var(--wh-cream); color:var(--wh-ink); }
.wh-page .wh-button--light:hover { background:#e7e7dc; }
.wh-link { font-size:.87rem; font-weight:600; text-decoration:underline; text-underline-offset:5px; text-decoration-thickness:1px; }
.wh-hero .wh-price-note { margin-top:22px; font-size:.74rem; color:var(--wh-muted); }
.wh-price-note strong { color:var(--wh-ink); font-size:.95rem; }
.wh-hero__photo { position:relative; }
.wh-hero__photo>img { aspect-ratio:.92; object-fit:cover; object-position:77% center; border-radius:4px; }
.wh-hero__photo figcaption { font-size:.64rem; color:var(--wh-muted); margin-top:10px; }
.wh-photo-note { position:absolute; bottom:46px; left:-25px; padding:18px 22px; background:#faf8f0; box-shadow:0 7px 25px #24352610; font-family:Georgia,serif; font-size:1.1rem; line-height:1.45; transform:rotate(-3deg); }
.wh-features { padding-block:0 85px; }
.wh-section-head { display:flex; justify-content:space-between; gap:45px; align-items:end; margin-bottom:38px; }
.wh-section-head>p { max-width:340px; font-size:.95rem; color:var(--wh-muted); }
.wh-feature-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.wh-feature-grid article { display:flex; flex-direction:column; align-items:flex-start; padding:28px; border:1px solid var(--wh-line); border-radius:10px; background:#fffdf8; }
.wh-feature-icon { display:grid; place-items:center; width:52px; height:52px; border-radius:50%; margin-bottom:23px; background:#edf0e6; color:#425641; }
.wh-feature-icon svg { display:block; width:30px; height:30px; }
.wh-feature-scope { display:block; margin-bottom:12px; font-size:.68rem; font-weight:650; line-height:1.5; color:#425641; }
.wh-feature-scope--optional { color:#706655; }
.wh-feature-grid p { color:var(--wh-muted); font-size:.9rem; margin-top:15px; }
.wh-feature-grid .wh-link { display:inline-flex; align-items:center; justify-content:space-between; gap:12px; margin-top:auto; padding-top:24px; font-size:.8rem; line-height:1.5; }
.wh-example { padding-block:75px; background:#2f4435; color:#f7f4ed; }
.wh-example h2 { color:inherit; margin-bottom:24px; }
.wh-example__grid { display:grid; grid-template-columns:1.1fr 1fr; gap:65px; align-items:center; }
.wh-example__grid>div>p:not(.wh-eyebrow) { color:#d9e0d4; }
.wh-example__photo { position:relative; text-decoration:none; }
.wh-example__photo img { aspect-ratio:1.07; object-fit:cover; border-radius:3px; }
.wh-example__photo>span { display:flex; justify-content:space-between; align-items:center; position:absolute; bottom:0; left:0; right:0; padding:22px; background:linear-gradient(transparent,#17251dbb); color:white; font:italic 1.8rem Georgia,serif; }
.wh-check-list { list-style:none; padding:0; margin:25px 0; }
.wh-check-list li { position:relative; padding:9px 0 9px 24px; font-size:.87rem; line-height:1.6; }
.wh-check-list li::before { content:'✓'; position:absolute; top:9px; left:0; font-weight:600; }
.wh-example .wh-small { font-size:.68rem; margin-top:18px; }
.wh-photos { display:grid; grid-template-columns:.8fr 1.2fr; gap:65px; align-items:center; padding-block:85px; }
.wh-photos__copy>p:not(.wh-eyebrow) { margin-block:24px; color:var(--wh-muted); }
.wh-photo-pair { display:grid; grid-template-columns:1.2fr .8fr; gap:20px; align-items:center; }
.wh-photo-pair img:first-child { aspect-ratio:.9; object-fit:cover; border-radius:3px; }
.wh-photo-pair img:last-child { aspect-ratio:.75; object-fit:cover; margin-top:90px; border-radius:3px; }
.wh-bottom { background:#e9ecdf; padding-block:55px; }
.wh-bottom>.wh-shell { display:flex; align-items:center; justify-content:space-between; gap:45px; }
.wh-bottom p:not(.wh-eyebrow) { margin-top:22px; font-size:.9rem; color:var(--wh-muted); }
.wh-bottom__actions { display:flex; flex-direction:column; align-items:flex-start; gap:25px; }
.wh-price-intro { padding-block:65px 45px; text-align:center; }
.wh-price-intro h1 { font-size:clamp(2.8rem,4.5vw,4.4rem); }
.wh-price-intro>p:last-child { max-width:570px; margin:24px auto 0; color:var(--wh-muted); }
.wh-packages { display:grid; grid-template-columns:1fr 1fr; gap:28px; max-width:1030px; padding-bottom:75px; }
.wh-package { display:flex; flex-direction:column; padding:36px; border:1px solid var(--wh-line); background:#fffdfa; border-radius:8px; }
.wh-package__top { display:flex; justify-content:space-between; gap:16px; }
.wh-package__top>span { font:italic 1.5rem Georgia,serif; opacity:.55; }
.wh-package h2 { font-size:3rem; }
.wh-package .wh-package__intro { margin-top:18px; min-height:66px; font-size:.9rem; color:var(--wh-muted); }
.wh-package .wh-package__price { margin-top:28px; font-size:3.7rem; line-height:1.15; letter-spacing:-.055em; font-weight:600; }
.wh-package__price>span { font-size:.79rem; font-weight:400; letter-spacing:0; }
.wh-package .wh-package__tax { font-size:.72rem; margin-top:10px; color:var(--wh-muted); }
.wh-package .wh-check-list { margin:25px 0 30px; border-top:1px solid var(--wh-line); padding-top:16px; }
.wh-package .wh-button { margin-top:auto; }
.wh-package .wh-package__note { text-align:center; font-size:.66rem; margin-top:12px; }
.wh-package--fest { --wh-line:#8c9c8b55; --wh-muted:#d6ded2; color:#f8f5ec; background:#304536; border-color:#304536; }
.wh-package--fest h2 { color:inherit; }
.wh-package--fest .wh-button { background:#f0eddf; color:#293b2e; }
.wh-package--fest .wh-button:hover { background:#dfe4d2; }
.wh-included { display:grid; grid-template-columns:.85fr 1.15fr; gap:70px; padding-bottom:70px; }
.wh-included ul { display:grid; grid-template-columns:1fr 1fr; gap:26px 32px; margin:0; padding:0; list-style:none; }
.wh-included strong { display:block; font-size:.91rem; margin-bottom:8px; }
.wh-included li span { color:var(--wh-muted); font-size:.83rem; line-height:1.7; display:block; }
.wh-compare { padding-block:45px 75px; border-top:1px solid var(--wh-line); }
.wh-compare .wh-section-head { align-items:center; }
.wh-table-scroll { overflow-x:auto; }
.wh-compare table { width:100%; border-collapse:collapse; text-align:left; font-size:.85rem; }
.wh-compare th,.wh-compare td { padding:17px 18px; border-bottom:1px solid var(--wh-line); line-height:1.5; }
.wh-compare thead { background:#e9ecdf; }
.wh-compare th { font-weight:600; }
.wh-compare td { width:27%; }
.wh-compare .wh-optional-note { margin-top:18px; max-width:730px; font-size:.78rem; line-height:1.7; color:var(--wh-muted); }
.wh-compare .wh-optional-link { font-weight:500; text-underline-offset:3px; }
.wh-questions { display:grid; grid-template-columns:.85fr 1.15fr; gap:70px; padding-bottom:85px; }
.wh-questions>div>.wh-link { display:inline-block; margin-top:28px; }
.wh-faq details { border-bottom:1px solid var(--wh-line); }
.wh-faq details:first-child { border-top:1px solid var(--wh-line); }
.wh-faq summary { position:relative; padding:20px 25px 20px 0; cursor:pointer; list-style:none; font-size:.94rem; font-weight:600; }
.wh-faq summary::-webkit-details-marker { display:none; }
.wh-faq summary::after { content:'+'; position:absolute; right:0; top:15px; font-size:1.5rem; font-weight:400; }
.wh-faq details[open] summary::after { content:'−'; }
.wh-faq details>div { padding-bottom:22px; color:var(--wh-muted); font-size:.86rem; }
.wh-faq details p+p { margin-top:14px; }
.wh-sr { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media(max-width:1000px) {
    .wh-hero,.wh-example__grid,.wh-photos { gap:35px; }
    .wh-hero h1 { font-size:3.5rem; }
    .wh-hero__photo>img { aspect-ratio:.75; }
    .wh-package { padding:28px; }
    .wh-included,.wh-questions { gap:40px; }
}
@media(max-width:700px) {
    .wh-shell { width:calc(100% - 40px); }
    .wh-hero { grid-template-columns:1fr; padding-block:42px 50px; gap:32px; }
    .wh-hero h1 { font-size:clamp(2.8rem,9vw,4.1rem); }
    .wh-hero .wh-lead { max-width:530px; font-size:1rem; margin-top:22px; }
    .wh-actions { gap:20px; margin-top:24px; }
    .wh-page .wh-button { font-size:.83rem; padding-inline:18px; }
    .wh-hero__photo>img { aspect-ratio:1.25; object-position:77% 50%; }
    .wh-photo-note { left:14px; bottom:44px; font-size:.95rem; padding:12px 16px; }
    .wh-page h2 { font-size:2.7rem; }
    .wh-features { padding-block:10px 50px; }
    .wh-section-head { display:block; margin-bottom:28px; }
    .wh-section-head>p { margin-top:22px; max-width:none; }
    .wh-feature-grid { grid-template-columns:1fr; }
    .wh-feature-grid { gap:14px; }
    .wh-feature-grid article { padding:25px; }
    .wh-feature-icon { margin-bottom:12px; }
    .wh-feature-grid p { margin-top:10px; }
    .wh-example { padding-block:45px; }
    .wh-example__grid { grid-template-columns:1fr; gap:34px; }
    .wh-example__photo img { aspect-ratio:1.4; }
    .wh-photos { grid-template-columns:1fr; padding-block:50px; gap:30px; }
    .wh-photo-pair { gap:15px; }
    .wh-photo-pair img:last-child { margin-top:50px; }
    .wh-bottom { padding-block:40px; }
    .wh-bottom>.wh-shell { flex-direction:column; align-items:flex-start; gap:28px; }
    .wh-price-intro { text-align:left; padding-block:40px 32px; }
    .wh-price-intro h1 { font-size:clamp(2.6rem,8.4vw,3.4rem); }
    .wh-price-intro>p:last-child { margin-top:22px; font-size:.95rem; }
    .wh-packages { grid-template-columns:1fr; gap:20px; padding-bottom:48px; }
    .wh-package { padding:28px; }
    .wh-package .wh-package__intro { min-height:0; }
    .wh-package .wh-package__price { font-size:3.6rem; margin-top:24px; }
    .wh-included,.wh-questions { grid-template-columns:1fr; gap:30px; padding-bottom:48px; }
    .wh-included ul { gap:24px 20px; }
    .wh-compare { padding-block:30px 48px; }
    .wh-compare .wh-link { display:inline-block; margin-top:20px; }
    .wh-compare table { font-size:.71rem; }
    .wh-compare th,.wh-compare td { padding:13px 8px; }
    .wh-compare td { width:26%; }
}
@media(max-width:370px) {
    .wh-package { padding:23px; }
    .wh-included ul { grid-template-columns:1fr; }
    .wh-page .wh-eyebrow { font-size:.63rem; }
}
@media(prefers-reduced-motion:reduce) { .wh-page .wh-button { transition:none; } }
