/* The Second Home Plan proposal page (/proposal/). Scoped under .pp so it never touches the rest of the site. */
.pp{--cream:#e7e2d8;--paper:#fffdf8;--ink:#171717;--blue:#4a90c2;--blue-deep:#2f6f9f;--sand:#d9d2c5;
  --bg:var(--cream);--fg:var(--ink);--sheet:var(--paper);--muted:rgba(23,23,23,.6);--line:rgba(23,23,23,.16);
  --warn:#a5432c;--ok:#2f7a4f;--band:#171717;--band-fg:#e7e2d8;
  --display:Anton,'Arial Narrow',Impact,sans-serif;
  --body:Inter,system-ui,-apple-system,'Segoe UI',sans-serif;
  --mono:'Martian Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  --serif:'Iowan Old Style','Palatino Linotype',Palatino,Georgia,serif;
  --out:cubic-bezier(.22,1,.36,1);}
.pp .wrap{width:100%;max-width:1120px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.pp .read{max-width:680px}
.pp .pp-mono{font:400 11px/1.5 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.pp .pp-display{font:400 clamp(40px,7vw,84px)/.95 var(--display);text-transform:uppercase;letter-spacing:-.01em;text-wrap:balance}
.pp .pp-display em,.pp .h2 em{font-family:var(--serif);font-style:italic;text-transform:none;letter-spacing:-.02em;font-weight:400}
.pp .h2{font:400 clamp(32px,5vw,56px)/1 var(--display);text-transform:uppercase;text-wrap:balance}
.pp .pp-lede{font-size:clamp(18px,2vw,21px);line-height:1.55;text-wrap:pretty}
.pp section{padding-block:clamp(64px,9vw,120px)}
.pp .stack{display:grid;gap:20px}
.pp .pp-ch{display:flex;gap:14px;align-items:center}
.pp .pp-ch b{font:400 11px/1 var(--mono);letter-spacing:.16em;color:var(--bg);background:var(--fg);padding:6px 8px}
.pp .btn{display:inline-flex;align-items:center;gap:12px;background:var(--fg);color:var(--bg);text-decoration:none;padding:17px 24px;font:500 16px/1 var(--body);border:0;cursor:pointer;transition:transform .3s var(--out),background .3s}
.pp .btn:hover{transform:translateY(-2px);background:var(--blue-deep)}
.pp .btn svg{width:18px;height:18px}
.pp .btn.ghost{background:transparent;color:inherit;box-shadow:inset 0 0 0 1.5px currentColor}
.pp .btn.ghost:hover{background:transparent;box-shadow:inset 0 0 0 1.5px var(--blue)}
.pp .cover{position:relative;color:#f4efe6;background:#171717;padding-block:0;overflow:hidden;isolation:isolate}
.pp .cover-img{position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center 60%;transform:scale(1.06);animation:pp-drift 22s ease-in-out infinite alternate}
.pp .cover::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(10,10,10,.35) 0%,rgba(10,10,10,.25) 40%,rgba(10,10,10,.85) 100%)}
@keyframes pp-drift{to{transform:scale(1.14) translateY(-2%)}}
@media (prefers-reduced-motion: reduce){.pp .cover-img{animation:none}}
.pp .cover .wrap{display:grid;gap:28px;padding-block:clamp(72px,12vw,150px) clamp(40px,6vw,72px)}
.pp .cover .pp-mono{color:rgba(244,239,230,.75)}
.pp .cover .pp-lede{max-width:600px;color:rgba(244,239,230,.9)}
.pp .for{display:inline-flex;gap:10px;align-items:baseline;border-bottom:1px solid rgba(244,239,230,.4);padding-bottom:6px;font:400 11px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase}
.pp .for strong{font:italic 400 22px/1 var(--serif);letter-spacing:0;text-transform:none}
.pp .cover .btn{background:#f4efe6;color:#171717}
.pp .cover .btn:hover{background:#fff}
.pp .cover .btn.ghost{background:transparent;color:#f4efe6}
.pp .row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.pp .word{display:inline-block;opacity:0;transform:translateY(.4em);animation:pp-rise .9s var(--out) forwards}
@keyframes pp-rise{to{opacity:1;transform:none}}
@media (prefers-reduced-motion: reduce){.pp .word{animation:none;opacity:1;transform:none}}
.pp .questions{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1px;background:rgba(244,239,230,.22);border:1px solid rgba(244,239,230,.22);margin-top:12px}
.pp .questions a{background:rgba(16,16,16,.55);backdrop-filter:blur(6px);padding:16px;text-decoration:none;display:grid;gap:6px;transition:background .3s}
.pp .questions a:hover{background:rgba(74,144,194,.45)}
.pp .questions span{font:400 10px/1 var(--mono);letter-spacing:.14em;color:rgba(244,239,230,.65)}
.pp .questions strong{font-weight:500;font-size:16px;line-height:1.3}
.pp .boon-say{display:grid;grid-template-columns:88px 1fr;gap:16px;align-items:end;max-width:560px}
.pp .boon-say svg{width:88px;height:auto;display:block}
.pp .bubble{position:relative;background:var(--sheet);border:1.5px solid var(--fg);padding:14px 16px;font-size:16px;line-height:1.5;color:var(--fg)}
.pp .bubble::before{content:"";position:absolute;left:-8px;bottom:22px;width:13px;height:13px;background:var(--sheet);border-left:1.5px solid var(--fg);border-bottom:1.5px solid var(--fg);transform:rotate(45deg)}
.pp .bubble b{font-weight:600}
.pp .cover .bubble{background:#fffdf8;color:#171717;border-color:#fffdf8}
.pp .cover .bubble::before{background:#fffdf8;border-color:#fffdf8}
.pp .boon-say .b-eyes{transform-box:fill-box;transform-origin:50% 50%;animation:pp-blink 7s infinite}
@keyframes pp-blink{0%,94%,100%{transform:none}96%{transform:scaleY(.1)}}
@media (prefers-reduced-motion: reduce){.pp .boon-say .b-eyes{animation:none}}
.pp .dream{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.pp .dream figure{position:relative;aspect-ratio:3/4;max-width:100%;overflow:hidden;background:var(--sand)}
.pp .dream img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--out)}
.pp .dream figure:hover img{transform:scale(1.05)}
.pp .dream figcaption{position:absolute;inset:auto 0 0;padding:44px 16px 16px;background:linear-gradient(transparent,rgba(10,10,10,.78));color:#f4efe6;font:italic 400 clamp(17px,2vw,22px)/1.25 var(--serif)}
.pp .dream figcaption small{display:block;font:400 10px/1.4 var(--mono);font-style:normal;letter-spacing:.14em;text-transform:uppercase;opacity:.75;margin-bottom:6px}
@media (max-width:640px){.pp .dream{grid-template-columns:1fr}.pp .dream figure{aspect-ratio:16/10}}
.pp .dark{background:var(--band);color:var(--band-fg)}
.pp .dark .pp-mono{color:rgba(236,231,221,.6)}
.pp .dark .pp-ch b{background:var(--band-fg);color:var(--band)}
.pp .tangle{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(24px,5vw,64px);align-items:start}
@media (max-width:860px){.pp .tangle{grid-template-columns:1fr}}
.pp .pit{display:grid;gap:0;border-top:1px solid rgba(236,231,221,.18)}
.pp .pit li{display:grid;grid-template-columns:28px 1fr;gap:14px;padding:18px 0;border-bottom:1px solid rgba(236,231,221,.18)}
.pp .pit .x{width:22px;height:22px;border:1.5px solid var(--warn);color:var(--warn);display:grid;place-items:center;font:400 12px/1 var(--mono);margin-top:3px}
.pp .pit strong{display:block;font-weight:600;font-size:17px;margin-bottom:4px}
.pp .pit p{color:rgba(236,231,221,.78);font-size:15.5px;line-height:1.55}
.pp .pit a{color:rgba(236,231,221,.6);font:400 10px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;text-underline-offset:3px}
.pp .pp-compare{display:grid;gap:12px}
.pp .pp-compare figure{border:1px solid rgba(236,231,221,.18);padding:18px;display:grid;gap:12px;background:rgba(236,231,221,.03)}
.pp .pp-compare canvas,.pp .pp-compare svg{width:100%;height:auto;display:block}
.pp .pp-compare figcaption{display:flex;justify-content:space-between;gap:12px;font:400 10.5px/1.4 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:rgba(236,231,221,.65)}
.pp .pp-compare figcaption b{color:var(--band-fg);font-weight:400}
.pp .mesh line{stroke:var(--warn);stroke-width:1.2;stroke-dasharray:4 5;opacity:.75}
.pp .mesh .spoke{stroke:var(--blue);stroke-dasharray:none;opacity:1;stroke-width:1.6}
.pp .mesh .node rect{fill:var(--band);stroke:rgba(236,231,221,.55);stroke-width:1.2}
.pp .mesh .node text{fill:var(--band-fg);font:400 11px var(--body)}
.pp .mesh .you rect{fill:var(--band-fg)}
.pp .mesh .you text{fill:var(--band);font-weight:600}
.pp .mesh .desk rect{fill:var(--blue);stroke:none}
.pp .mesh .desk text{fill:#fff;font-weight:600}
.pp.motion .mesh line{stroke-dashoffset:0;animation:pp-ants 1.4s linear infinite}
@keyframes pp-ants{to{stroke-dashoffset:-18}}
@media (prefers-reduced-motion: reduce){.pp.motion .mesh line{animation:none}}
.pp .tally{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:rgba(236,231,221,.18);border:1px solid rgba(236,231,221,.18)}
.pp .tally div{background:var(--band);padding:14px 12px;display:grid;gap:6px}
.pp .tally span{font:400 9.5px/1.3 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:rgba(236,231,221,.6)}
.pp .tally strong{font:400 26px/1 var(--display);font-variant-numeric:tabular-nums}
.pp .tally s{color:var(--warn);text-decoration-thickness:2px;opacity:.85;margin-right:6px}
.pp .usp{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,64px);align-items:center}
@media (max-width:860px){.pp .usp{grid-template-columns:1fr}}
.pp .usp-photo{position:relative;aspect-ratio:4/5;max-width:100%;overflow:hidden}
.pp .usp-photo img{width:100%;height:100%;object-fit:cover}
.pp .usp-photo .stamp{position:absolute;left:16px;bottom:16px;right:16px;background:var(--sheet);color:var(--fg);padding:14px 16px;display:grid;gap:4px;border-left:4px solid var(--blue)}
.pp .usp-photo .stamp strong{font:400 22px/1.05 var(--display);text-transform:uppercase}
.pp .pull{font:italic 400 clamp(24px,3.2vw,36px)/1.2 var(--serif);text-wrap:balance}
.pp .pull mark{background:linear-gradient(transparent 62%,color-mix(in srgb,var(--blue) 35%,transparent) 62%);color:inherit;padding:0 .1em}
.pp .equation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.pp .equation div{background:var(--sheet);padding:18px;display:grid;gap:8px;align-content:start}
.pp .equation .arrow{font:400 28px/1 var(--display);color:var(--blue)}
.pp .equation .arrow.down{color:var(--ok)}
.pp .equation strong{font-weight:600;font-size:16px}
.pp .equation p{font-size:15px;line-height:1.5;color:var(--muted)}
@media (max-width:480px){.pp .equation{grid-template-columns:1fr}}
.pp .sheet{background:var(--sheet);border:1.5px solid var(--fg);box-shadow:10px 10px 0 var(--fg);max-width:880px;margin:0 auto}
.pp .sheet-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;align-items:end;padding:clamp(20px,4vw,40px);border-bottom:1.5px solid var(--fg)}
.pp .sheet-head .h2{font-size:clamp(34px,5.5vw,60px)}
.pp .stack-list li{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:16px;align-items:start;padding:18px clamp(20px,4vw,40px);border-bottom:1px solid var(--line)}
.pp .tick{width:30px;height:30px;border:1.5px solid var(--fg);display:grid;place-items:center;transition:background .4s,border-color .4s}
.pp .tick svg{width:16px;height:16px;stroke:var(--sheet);stroke-width:2.4;fill:none;stroke-dasharray:24;stroke-dashoffset:24;transition:stroke-dashoffset .5s .15s var(--out)}
.pp .on .tick{background:var(--blue);border-color:var(--blue)}
.pp .on .tick svg{stroke-dashoffset:0}
.pp .stack-list strong{display:block;font-weight:600;font-size:17px}
.pp .stack-list p{font-size:15px;line-height:1.5;color:var(--muted);margin-top:2px}
.pp .stack-list .tag{font:400 9.5px/1.3 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);text-align:right;max-width:150px}
.pp .stack-list .tag b{display:block;color:var(--fg);font-weight:400;font-size:10.5px}
.pp .stack-list .bonus .tick{border-style:dashed}
.pp .stack-list .bonus strong::after{content:"Free bonus";margin-left:8px;font:400 9px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;background:var(--blue);color:#fff;padding:3px 5px;vertical-align:3px}
@media (max-width:600px){.pp .stack-list li{grid-template-columns:36px minmax(0,1fr)}.pp .stack-list .tag{grid-column:2;text-align:left;max-width:none}}
.pp .price{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border-top:1.5px solid var(--fg)}
.pp .price>div{padding:clamp(20px,4vw,36px);display:grid;gap:10px;align-content:start}
.pp .price>div+div{border-left:1.5px solid var(--fg);background:color-mix(in srgb,var(--blue) 9%,var(--sheet))}
@media (max-width:640px){.pp .price{grid-template-columns:1fr}.pp .price>div+div{border-left:0;border-top:1.5px solid var(--fg)}}
.pp .alone li{display:flex;justify-content:space-between;gap:12px;font-size:14.5px;padding:7px 0;border-bottom:1px dashed var(--line)}
.pp .alone li span:last-child{font-variant-numeric:tabular-nums;color:var(--muted);text-align:right}
.pp .fee{font:400 clamp(36px,5vw,52px)/1 var(--display)}
.pp .fill{font-family:var(--mono);font-size:.62em;letter-spacing:.06em;color:var(--blue-deep);border-bottom:1.5px dashed var(--blue);padding:0 2px;white-space:nowrap}
.pp .fine{font-size:13px;line-height:1.5;color:var(--muted)}
.pp .pp-sources{font-size:12.5px;line-height:1.5;color:var(--muted)}
.pp .pp-sources a{color:inherit}
.pp .promise{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
@media (max-width:860px){.pp .promise{grid-template-columns:1fr}}
.pp .promise article{border:1.5px solid var(--fg);padding:22px;display:grid;gap:10px;align-content:start;background:var(--sheet)}
.pp .promise .seal{width:52px;height:52px;border-radius:50%;border:1.5px solid var(--blue);display:grid;place-items:center;color:var(--blue);font:400 18px/1 var(--display)}
.pp .promise h3{font:400 24px/1 var(--display);text-transform:uppercase}
.pp .promise p{font-size:15.5px;line-height:1.55}
.pp .honest{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(20px,4vw,48px);border-top:1.5px solid var(--fg);padding-top:28px}
@media (max-width:760px){.pp .honest{grid-template-columns:1fr}}
.pp .checklist li{display:grid;grid-template-columns:22px 1fr;gap:10px;padding:8px 0;font-size:15.5px}
.pp .checklist li::before{content:"";width:14px;height:8px;border-left:2px solid var(--ok);border-bottom:2px solid var(--ok);transform:rotate(-45deg);margin-top:7px}
.pp .redflags li::before{width:14px;height:14px;border:0;transform:none;background:linear-gradient(45deg,transparent 43%,var(--warn) 43% 57%,transparent 57%),linear-gradient(-45deg,transparent 43%,var(--warn) 43% 57%,transparent 57%);margin-top:5px}
.pp .pp-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;counter-reset:s}
@media (max-width:960px){.pp .pp-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.pp .pp-steps{grid-template-columns:1fr}}
.pp .pp-steps li{border-top:3px solid var(--fg);padding-top:16px;display:grid;gap:10px;align-content:start}
.pp .pp-steps .n{font:400 54px/1 var(--display);color:var(--blue)}
.pp .pp-steps h3{font:400 22px/1 var(--display);text-transform:uppercase}
.pp .pp-steps .you,.pp .pp-steps .we{font-size:14.5px;line-height:1.5}
.pp .pp-steps .you b,.pp .pp-steps .we b{display:block;font:400 9.5px/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}
.pp .pp-steps .time{font:400 10px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;background:var(--fg);color:var(--bg);padding:6px 8px;justify-self:start}
.pp .faq{border-top:1.5px solid var(--fg)}
.pp .faq details{border-bottom:1px solid var(--line)}
.pp .faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;padding:20px 0;font-weight:600;font-size:18px;line-height:1.35}
.pp .faq summary::-webkit-details-marker{display:none}
.pp .faq summary::after{content:"+";font:400 26px/1 var(--display);color:var(--blue);transition:transform .3s var(--out)}
.pp .faq details[open] summary::after{transform:rotate(45deg)}
.pp .faq details p{padding:0 0 22px;max-width:640px;color:var(--muted);font-size:16px}
.pp .cta{position:relative;color:#f4efe6;background:#171717;overflow:hidden;isolation:isolate}
.pp .cta-img{position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center}
.pp .cta::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,10,10,.88) 0%,rgba(10,10,10,.65) 55%,rgba(10,10,10,.35) 100%)}
.pp .cta .pp-mono{color:rgba(244,239,230,.7)}
.pp .cta .pp-ch b{background:#f4efe6;color:#171717}
.pp .go{display:grid;gap:0;max-width:560px;counter-reset:g}
.pp .go li{display:grid;grid-template-columns:44px 1fr;gap:14px;padding:16px 0;border-bottom:1px solid rgba(244,239,230,.2)}
.pp .go li::before{counter-increment:g;content:counter(g);width:34px;height:34px;display:grid;place-items:center;background:#f4efe6;color:#171717;font:400 18px/1 var(--display)}
.pp .go strong{display:block;font-weight:600}
.pp .go p{color:rgba(244,239,230,.75);font-size:15.5px}
.pp .cta .btn{background:var(--blue);color:#fff;font-size:18px;padding:20px 28px}
.pp .cta .btn:hover{background:#fff;color:#171717}
.pp .url{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;font:400 12px/1.4 var(--mono);color:rgba(244,239,230,.8)}
.pp .url button{background:transparent;border:1px solid rgba(244,239,230,.4);color:inherit;font:inherit;padding:6px 10px;cursor:pointer}
.pp .cta .bubble{background:#fffdf8;color:#171717;border-color:#fffdf8}
.pp .cta .bubble::before{background:#fffdf8;border-color:#fffdf8}
.pp.motion .rv{opacity:0;transform:translateY(18px);transition:opacity .8s var(--out),transform .9s var(--out)}
.pp.motion .rv.in{opacity:1;transform:none}
/* Lead gate */
.pp .pp-gate{background:var(--sheet);border-bottom:1.5px solid var(--fg)}
.pp .pp-gate-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,64px);align-items:center}
@media (max-width:860px){.pp .pp-gate-grid{grid-template-columns:1fr}}
.pp .pp-form{display:grid;gap:8px;border:1.5px solid var(--fg);padding:clamp(20px,3vw,32px);background:var(--bg)}
.pp .pp-form label{font-weight:600;font-size:15px}
.pp .pp-form label span{font-weight:400;color:var(--muted);font-size:13px;margin-left:6px}
.pp .pp-form input[type=text]{width:100%;min-height:52px;padding:0 14px;border:1.5px solid var(--fg);background:var(--sheet);font:400 17px/1.2 var(--body);color:var(--fg);margin-bottom:8px;border-radius:0}
.pp .pp-form input[type=text]:focus{outline:2px solid var(--blue);outline-offset:1px}
.pp .pp-hint{font-size:13px;color:var(--muted);margin-top:-4px}
.pp .pp-check{display:flex;gap:10px;align-items:flex-start;font-weight:400!important;margin:8px 0 6px}
.pp .pp-check input{width:20px;height:20px;margin-top:2px;accent-color:var(--blue);flex:none}
.pp .pp-form .btn{justify-content:center;margin-top:6px}
.pp .pp-form .btn[disabled]{opacity:.6;cursor:wait}
.pp .pp-status{font-size:15px;min-height:1.5em}
.pp .pp-status.error{color:var(--warn)}
.pp .pp-trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.pp.is-open .pp-gate{display:none}
.pp .cover .questions a{cursor:pointer}
