:root { --ink:#102a43; --blue:#1e5cd4; --muted:#5f7894; --canvas:#f8fafc; --green:#25d366; }
* { box-sizing:border-box; }
html { background:var(--canvas); }
body { margin:0; background:radial-gradient(circle at 50% 0,#fff 0 25%,var(--canvas) 78%); color:var(--ink); font-family:Manrope,Arial,sans-serif; -webkit-font-smoothing:antialiased; }
.page-shell { width:min(100%,760px); margin:0 auto; padding:26px 20px 38px; }
.skip-link { position:absolute; left:-10000px; }
.skip-link:focus { left:16px; top:16px; z-index:10; background:#fff; padding:12px; border-radius:8px; }
.brand-header { text-align:center; }
.brand-link { display:inline-flex; align-items:center; gap:9px; color:var(--ink); font-size:31px; font-weight:800; letter-spacing:-1.8px; text-decoration:none; }
.brand-link img { border-radius:10px; }
.brand-dot { color:var(--blue); }
.location { display:flex; align-items:center; justify-content:center; gap:7px; margin:10px 0 0; color:var(--muted); font-size:14px; font-weight:700; }
.location svg,.rental-card svg { width:18px; height:18px; stroke:currentColor; stroke-width:2; fill:none; }
.hero { padding:25px 5px; text-align:center; }
.hero h1 { margin:0; font-size:clamp(33px,7vw,53px); line-height:1.07; letter-spacing:-2.8px; font-weight:800; }
.hero p { margin:13px 0 0; color:var(--muted); font-size:18px; font-weight:500; }
.rental-card { overflow:hidden; border:1px solid #d9e2ec; border-radius:20px; background:#fff; box-shadow:0 15px 32px rgba(21,48,75,.1); }
.rental-card__header { display:flex; align-items:center; justify-content:space-between; height:64px; padding:0 22px; background:#102f4c; color:#fff; font-size:14px; font-weight:800; letter-spacing:.35px; }
.rental-card__header>span:last-child { color:#d6e1ec; font-weight:600; }
.rental-card__signal { display:flex; align-items:center; gap:10px; }
.whatsapp-mark { display:grid; place-items:center; flex:0 0 auto; width:54px; height:54px; border-radius:50%; background:#25d366; }
.whatsapp-mark img { width:76%; height:76%; object-fit:contain; }
.whatsapp-mark--small { width:36px; height:36px; }
.signal-dot { display:none; }
.rental-card__photo { display:block; width:100%; height:292px; object-fit:cover; object-position:center; }
.rental-card__content { padding:20px 25px; }
.rental-card__type,.rental-card__price,.rental-card__location { margin:0; }
.rental-card__type { font-size:28px; font-weight:800; letter-spacing:-1.2px; }
.rental-card__price { margin-top:5px; color:var(--blue); font-size:38px; font-weight:800; letter-spacing:-1.8px; }
.rental-card__price span { font-size:18px; font-weight:700; letter-spacing:0; }
.rental-card__location { display:flex; align-items:center; gap:7px; margin-top:8px; color:#5a728d; font-size:16px; font-weight:600; }
.rental-card__location svg { width:18px; height:18px; }
.rental-card__facts { display:none; }
.join-area { padding:24px 0 16px; }
.join-button { display:flex; align-items:center; gap:17px; width:100%; min-height:100px; padding:18px 25px; border:0; border-radius:18px; background:#20c969; color:#fff; cursor:pointer; box-shadow:none; text-align:left; transition:transform .18s,background .18s; }
.join-button:hover { background:#19b95b; transform:translateY(-1px); }
.join-button:focus-visible,.secondary-actions a:focus-visible,.floating-share:focus-visible { outline:4px solid rgba(30,92,212,.3); outline-offset:3px; }
.join-button__whatsapp { width:58px; height:58px; background:transparent; }
.join-button__whatsapp img { width:100%; height:100%; filter:brightness(0) invert(1) contrast(180%); }
.join-button__copy { flex:1; min-width:0; }
.join-button strong { display:block; font-size:clamp(16px,3.3vw,24px); line-height:1.12; letter-spacing:-.65px; white-space:nowrap; }
.join-button>svg { width:34px; height:34px; flex:0 0 auto; stroke:currentColor; stroke-width:2.4; fill:none; }
.join-note { display:flex; align-items:center; justify-content:center; gap:8px; margin:12px 0 0; color:var(--muted); font-size:14px; font-weight:600; }
.join-note span { width:7px; height:7px; border-radius:50%; background:var(--green); }
.join-note b { color:#a4b3c4; font-size:12px; }
.secondary-actions { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:14px; }
.secondary-actions a { display:flex; align-items:center; justify-content:center; gap:10px; min-height:66px; border:2px solid #143c62; border-radius:13px; color:var(--ink); font-size:14px; font-weight:800; text-align:center; text-decoration:none; }
.secondary-actions svg { width:23px; height:23px; stroke:currentColor; stroke-width:1.9; fill:none; }
footer { padding-top:26px; color:#71839a; font-size:11px; text-align:center; }
.floating-share { position:fixed; z-index:30; top:18px; right:18px; display:grid; place-items:center; width:48px; height:48px; border:0; border-radius:16px; background:#142d47; color:#fff; box-shadow:0 8px 20px rgba(16,42,67,.22); cursor:pointer; }
.floating-share svg { width:23px; height:23px; stroke:currentColor; stroke-width:1.85; fill:none; }
.share-sheet[hidden] { display:none; }
.share-sheet { position:fixed; inset:0; z-index:40; }
.share-sheet__backdrop { position:absolute; inset:0; width:100%; border:0; background:rgba(11,30,48,.36); }
.share-sheet__panel { position:absolute; bottom:18px; left:50%; width:min(calc(100% - 32px),430px); padding:13px 16px 18px; border-radius:20px; background:#fff; box-shadow:0 22px 50px rgba(16,42,67,.22); transform:translateX(-50%); }
.share-sheet__handle { width:34px; height:4px; margin:0 auto 14px; border-radius:9px; background:#d8e1eb; }
.share-sheet__panel h2 { margin:0; color:var(--ink); font-size:18px; letter-spacing:-.5px; }
.share-sheet__panel p { margin:5px 0 16px; color:var(--muted); font-size:13px; line-height:1.45; }
.share-action { display:flex; align-items:center; gap:11px; width:100%; min-height:52px; margin-top:9px; padding:0 14px; border:1px solid #d8e3ee; border-radius:12px; background:#fff; color:var(--ink); font:700 14px Manrope,Arial,sans-serif; text-decoration:none; cursor:pointer; }
.share-action>svg { width:21px; height:21px; stroke:currentColor; stroke-width:1.8; fill:none; }
.share-action--whatsapp { border-color:#abe8c4; color:#117c38; }
.share-action--whatsapp .whatsapp-mark { width:27px; height:27px; }
.share-action--whatsapp .whatsapp-mark img { width:76%; height:76%; }
/* Desktop has its own two-column composition. Mobile keeps the original vertical funnel. */
@media (min-width:921px) {
  .page-shell {
    width:min(100%,1180px);
    min-height:100vh;
    display:grid;
    grid-template-columns:minmax(330px,.9fr) minmax(420px,1.1fr);
    grid-template-areas:
      "brand brand"
      "hero card"
      "join card"
      "secondary card"
      "footer footer";
    column-gap:58px;
    align-content:start;
    padding:28px 28px 34px;
  }
  .brand-header { grid-area:brand; text-align:left; }
  .location { justify-content:flex-start; margin-top:5px; }
  .hero { grid-area:hero; align-self:end; padding:52px 0 22px; text-align:left; }
  .hero h1 { font-size:clamp(42px,4.35vw,58px); line-height:1.04; letter-spacing:-3.4px; }
  .hero p { max-width:430px; margin-top:17px; font-size:19px; font-weight:700; }
  .rental-card { grid-area:card; align-self:center; margin-top:16px; }
  .rental-card__header { height:60px; padding-inline:20px; }
  .rental-card__photo { height:270px; }
  .rental-card__content { padding:18px 23px; }
  .rental-card__type { font-size:26px; }
  .rental-card__price { font-size:35px; }
  .join-area { grid-area:join; align-self:start; padding:0 0 14px; }
  .join-button { min-height:104px; padding-inline:22px; gap:12px; }
  .join-button__whatsapp { width:55px; height:55px; }
  .join-button strong { font-size:clamp(16px,1.55vw,21px); line-height:1.08; white-space:normal; }
  .join-button>svg { width:29px; height:29px; }
  .join-note { justify-content:flex-start; padding-left:5px; }
  .secondary-actions { grid-area:secondary; margin-top:0; }
  .secondary-actions a { min-height:62px; font-size:12px; }
  footer { grid-area:footer; padding-top:30px; }
}
@media(max-width:520px) {
  .page-shell { padding:18px 20px 30px; }
  .brand-link { font-size:27px; }.brand-link img { width:36px; height:36px; }
  .location { margin-top:8px; font-size:12px; }.location svg { width:15px; height:15px; }
  .hero { padding:15px 0 17px; }.hero h1 { font-size:31px; letter-spacing:-2.1px; }.hero p { margin-top:9px; color:#526f90; font-size:17px; font-weight:700; }
  .rental-card__header { height:50px; padding:0 16px; font-size:10px; }.rental-card__signal { gap:7px; }.whatsapp-mark--small { width:27px; height:27px; }
  .rental-card__photo { height:135px; }.rental-card__content { padding:13px 21px; }.rental-card__type { font-size:21px; }.rental-card__price { font-size:30px; }.rental-card__price span { font-size:14px; }.rental-card__location { margin-top:5px; font-size:13px; }.rental-card__location svg { width:15px; height:15px; }
  .join-area { padding:17px 0 13px; }.join-button { min-height:88px; padding:14px 8px; gap:4px; background:#20c969; box-shadow:none; }.join-button__whatsapp { width:45px; height:45px; margin-left:4px; margin-right:4px; }.join-button strong { display:block; width:120%; font-size:16px; font-weight:800; letter-spacing:-1px; transform:scaleX(.84) scaleY(1.16); transform-origin:left center; }.join-button>svg { position:relative; z-index:1; width:20px; height:20px; background:#20c969; }.join-note { margin-top:10px; font-size:11px; }
  .secondary-actions { gap:10px; margin-top:10px; }.secondary-actions a { min-height:58px; font-size:10px; gap:6px; }.secondary-actions svg { width:19px; height:19px; }footer { padding-top:22px; font-size:10px; }
  .floating-share { top:17px; bottom:auto; right:17px; width:52px; height:52px; border-radius:50%; }
}
@media(max-width:365px) { .page-shell { padding-inline:12px; }.hero h1 { font-size:29px; }.hero p { font-size:15px; }.rental-card__photo { height:128px; }.join-button { min-height:84px; padding-inline:10px; gap:6px; }.join-button__whatsapp { width:40px; height:40px; margin-left:2px; margin-right:2px; }.join-button strong { width:116%; font-size:13px; letter-spacing:-.68px; transform:scaleX(.84) scaleY(1.12); }.join-button>svg { width:21px; height:21px; }.secondary-actions a { font-size:9px; } }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.toast { position:fixed; left:50%; bottom:22px; z-index:50; max-width:calc(100% - 32px); padding:12px 16px; border-radius:10px; background:var(--ink); color:#fff; font-size:13px; font-weight:700; opacity:0; pointer-events:none; transform:translate(-50%,14px); transition:.2s; }.toast.show { opacity:1; transform:translate(-50%,0); }
