/* Refugio Azul Santa Rosa — component styles. Colors, spacing, radii, shadows and tilts come from tokens.css.
   Responsive type sizes mirror the tokens.json type styles hero / hero-mobile / section / section-mobile;
   change both together. Breakpoints: 768px (tablet+desktop) and 1200px (wide). */

/* ---------- base ---------- */
body { margin: 0; font-family: var(--font-body); font-size: 16px; line-height: 24px; color: var(--ink); background: var(--cream-50); -webkit-font-smoothing: antialiased; }
*, *::before, *::after { box-sizing: border-box; }
img { max-width: 100%; display: block; }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }
.ra-on-forest { background: var(--forest-950); color: var(--on-forest); }
.ra-on-forest :focus-visible { outline-color: var(--focus-on-forest); }
.ra-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.ra-icon { flex: none; width: 24px; height: 24px; }
.ra-icon--sm { width: 20px; height: 20px; }
.ra-pad { padding: var(--space-4); }
@media (min-width: 768px) { .ra-pad { padding: var(--space-6) var(--space-12); } }
.ra-stack { display: flex; flex-direction: column; gap: var(--space-4); }
.ra-row { display: flex; flex-wrap: wrap; gap: var(--space-3); align-items: center; }
.ra-grid { display: grid; gap: var(--space-6); grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }

/* Sample / placeholder marker: every invented value in a preview carries one */
.ra-sample { display: inline-block; font: 600 12px/16px var(--font-body); letter-spacing: .02em; text-transform: uppercase; padding: var(--space-1) var(--space-2); border-radius: var(--radius-pill); background: var(--paper); color: var(--ink); border: 1px solid var(--line-strong); }

/* ---------- display titles (Fraunces soft, sentence case, italic accent words) ---------- */
.ra-display { font-family: var(--font-display); margin: 0; font-weight: 300; letter-spacing: -0.01em; font-variation-settings: "SOFT" 100, "WONK" 0, "opsz" 144; font-optical-sizing: none; }
.ra-display em { font-style: italic; font-variation-settings: "SOFT" 100, "WONK" 1, "opsz" 144; }
.ra-display--hero { font-size: 46px; line-height: 48px; font-weight: 300; }
.ra-display--section { font-size: 36px; line-height: 40px; }
@media (min-width: 768px) {
  .ra-display--hero { font-size: 76px; line-height: 76px; font-weight: 250; }
  .ra-display--section { font-size: 56px; line-height: 60px; }
}
.ra-eyebrow { font: 600 14px/20px var(--font-body); letter-spacing: .08em; text-transform: uppercase; margin: 0; }

/* ---------- buttons and links ---------- */
.ra-btn { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2); min-height: 48px; min-width: var(--tap-min); padding: 0 var(--space-6); border-radius: var(--radius-pill); border: 2px solid transparent; font: 600 16px/24px var(--font-body); text-decoration: none; cursor: pointer; transition: background-color .15s, color .15s, box-shadow .2s; }
.ra-btn:not(:disabled):not([aria-disabled="true"]):hover { box-shadow: var(--shadow-glow); }
.ra-on-forest .ra-btn:not(:disabled):not([aria-disabled="true"]):hover { box-shadow: var(--shadow-glow-forest); }
.ra-btn--sm { min-height: var(--tap-min); padding: 0 var(--space-4); }
.ra-btn--block { width: 100%; }
.ra-btn--primary { background: var(--purple); color: var(--on-accent); }
.ra-btn--primary:hover { background: var(--accent-hover); }
.ra-btn--secondary { background: transparent; color: var(--ink); border-color: var(--forest-900); }
.ra-btn--secondary:hover { background: var(--cream-200); }
.ra-on-forest .ra-btn--secondary { color: var(--on-forest); border-color: var(--on-forest); }
.ra-on-forest .ra-btn--secondary:hover { background: var(--forest-900); }
.ra-btn:disabled, .ra-btn[aria-disabled="true"] { background: var(--cream-200); border-color: var(--cream-200); color: var(--ink-muted); cursor: not-allowed; }
.ra-btn--secondary:disabled, .ra-btn--secondary[aria-disabled="true"] { background: transparent; border-color: var(--line-strong); }
.ra-btn[aria-busy="true"] { cursor: progress; }
.ra-btn--primary[aria-busy="true"]:hover { background: var(--purple); box-shadow: none; }
.ra-spin { animation: ra-spin 1s linear infinite; }
@keyframes ra-spin { to { transform: rotate(360deg); } }
.ra-link { color: var(--purple); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.ra-link:hover { color: var(--purple-700); text-decoration-thickness: 2px; }
.ra-link--standalone { display: inline-flex; align-items: center; gap: var(--space-1); min-height: var(--tap-min); }
.ra-on-forest .ra-link { color: var(--on-forest); }

/* ---------- header ---------- */
.ra-header { display: flex; align-items: center; justify-content: space-between; gap: var(--space-2); height: var(--header-h-mobile); padding: 0 var(--gutter-mobile); background: var(--cream-50); border-bottom: 1px solid var(--line); }
.ra-header__logo { display: block; flex: none; border-radius: var(--radius-sm); }
.ra-header__logo img { height: var(--logo-h-mobile); width: auto; }
.ra-header__actions { display: flex; align-items: center; gap: var(--space-2); }
.ra-lang { display: inline-flex; border: 1px solid var(--line-strong); border-radius: var(--radius-pill); padding: 0; background: var(--paper); }
.ra-lang button { min-width: var(--tap-min); min-height: var(--tap-min); padding: 0 var(--space-2); border: 0; border-radius: var(--radius-pill); background: transparent; color: var(--ink); font: 600 14px/20px var(--font-body); letter-spacing: .04em; cursor: pointer; }
.ra-lang button[aria-pressed="true"] { background: var(--forest-900); color: var(--on-forest); }
@media (min-width: 768px) {
  .ra-header { height: var(--header-h-desktop); padding: 0 var(--gutter-desktop); }
  .ra-header__logo img { height: var(--logo-h-desktop); }
  .ra-header__actions { gap: var(--space-4); }
}

/* ---------- footer ---------- */
.ra-footer { padding: var(--space-12) var(--gutter-mobile) var(--space-8); }
.ra-footer__grid { display: grid; gap: var(--space-8); max-width: var(--content-max); margin: 0 auto; }
.ra-footer__logo { width: 128px; height: 128px; border-radius: var(--radius-sm); }
.ra-footer h2 { font: 600 14px/20px var(--font-body); letter-spacing: .08em; text-transform: uppercase; margin: 0 0 var(--space-2); color: var(--on-forest); }
.ra-footer ul { list-style: none; margin: 0; padding: 0; }
.ra-footer li a { display: inline-flex; align-items: center; min-height: var(--tap-min); color: var(--on-forest); text-decoration: underline; text-underline-offset: 3px; }
.ra-footer__muted { color: var(--on-forest-muted); }
.ra-footer__legal { max-width: var(--content-max); margin: var(--space-8) auto 0; padding-top: var(--space-4); border-top: 1px solid var(--forest-900); font-size: 14px; line-height: 20px; color: var(--on-forest-muted); }
@media (min-width: 768px) {
  .ra-footer { padding: var(--space-16) var(--gutter-desktop) var(--space-8); }
  .ra-footer__grid { grid-template-columns: 160px repeat(3, 1fr); }
  .ra-footer__logo { width: 160px; height: 160px; }
}

/* ---------- hero ---------- */
.ra-hero { position: relative; overflow: hidden; }
.ra-hero__photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ra-hero__scrim { position: absolute; inset: 0; background: var(--scrim); }
.ra-hero__content { position: relative; display: flex; flex-direction: column; gap: var(--space-4); max-width: var(--content-max); margin: 0 auto; padding: var(--space-16) var(--gutter-mobile) calc(var(--space-16) + var(--torn-h-mobile)); }
.ra-hero__lead { font-size: 18px; line-height: 28px; margin: 0; max-width: 34em; color: var(--on-forest); }
.ra-hero__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-top: var(--space-2); }
.ra-hero .ra-sample { position: absolute; top: var(--space-3); right: var(--space-3); }
.ra-hero .ra-torn { position: absolute; left: 0; right: 0; bottom: -1px; }
@media (min-width: 768px) { .ra-hero__content { padding: var(--space-24) var(--gutter-desktop) calc(var(--space-24) + var(--torn-h-desktop)); gap: var(--space-6); } }

/* ---------- hero panel: rounded, inset, menu bar on the photo ---------- */
.ra-hero--panel { margin: var(--hero-inset-mobile); border-radius: var(--radius-lg) var(--radius-lg) 0 0; isolation: isolate; --hero-tear: var(--torn-arc-h-mobile);
  -webkit-mask: linear-gradient(#000 0 0) top / 100% calc(100% - var(--hero-tear) + 1px) no-repeat, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 80' preserveAspectRatio='none'%3E%3Cpath d='M0 0V14.6L6.4 16.7L10.0 16.1L13.0 17.1L16.2 18.5L19.2 19.2L22.8 20.7L26.1 19.4L29.5 19.4L32.3 19.2L36.3 20.8L42.2 20.4L45.7 20.5L52.0 22.6L58.4 20.5L63.3 20.7L68.0 22.7L71.3 20.2L75.3 22.5L81.7 23.6L84.3 24.8L88.7 24.9L94.2 26.2L100.3 25.4L104.5 27.3L108.5 27.1L115.0 28.7L119.8 27.7L122.4 28.4L126.9 28.7L132.1 27.8L136.4 30.3L140.6 30.4L145.5 29.4L151.4 31.6L155.7 31.1L160.1 32.3L162.9 32.0L167.7 34.0L170.3 36.3L174.6 36.5L179.8 35.8L185.2 36.3L189.8 38.1L195.9 36.9L200.9 39.9L206.6 40.5L212.0 40.6L218.1 41.7L221.9 41.6L226.6 41.2L229.3 41.3L232.4 39.2L237.6 41.6L242.2 39.5L248.1 40.5L254.2 39.9L259.0 40.7L261.6 43.7L266.4 43.4L270.5 46.0L273.5 45.1L277.3 45.3L279.9 45.9L283.8 48.0L287.3 47.2L291.5 48.6L296.5 49.1L300.0 50.1L303.7 51.1L306.8 49.2L310.9 51.3L313.5 49.7L316.5 50.9L319.7 49.9L324.3 51.9L330.2 53.7L334.5 53.2L338.7 56.3L343.0 53.5L347.6 51.4L353.5 53.7L360.0 54.7L365.6 55.2L370.9 55.5L373.6 54.4L378.7 55.7L382.5 56.2L389.0 56.7L391.6 56.8L394.3 55.7L400.5 57.2L406.9 57.7L412.5 55.8L415.6 57.2L419.8 57.3L425.0 57.5L427.5 58.9L433.6 62.5L437.8 58.0L444.1 59.1L449.0 57.3L451.7 58.8L456.0 58.1L460.6 60.7L463.6 60.5L467.2 60.0L472.7 58.8L478.7 59.1L483.7 60.0L488.4 62.3L492.3 63.2L497.3 63.9L503.0 63.1L507.7 64.4L510.6 64.8L515.0 64.1L520.2 62.0L523.8 62.0L526.8 63.6L532.9 62.5L537.0 64.1L541.0 62.3L545.7 63.9L549.0 63.9L553.6 63.5L556.4 63.5L562.5 62.3L567.6 63.0L573.1 63.6L577.6 64.2L581.8 65.2L587.6 65.5L592.9 65.3L599.4 64.1L603.1 68.6L608.7 63.6L614.8 63.1L618.2 65.3L621.9 63.4L627.6 64.2L631.5 64.3L634.2 65.5L638.8 63.2L641.3 63.8L646.2 62.7L652.2 63.9L656.9 62.9L662.7 65.5L665.6 64.6L671.6 64.5L674.4 66.4L677.5 66.6L681.9 66.3L686.3 67.1L691.6 64.8L697.3 64.7L702.0 64.9L705.5 64.6L710.2 66.2L713.1 66.1L719.0 65.8L723.1 64.2L728.2 66.6L732.3 64.4L738.0 66.9L741.9 67.1L747.5 68.0L753.6 67.3L760.1 67.1L766.4 67.2L771.2 67.1L775.5 64.9L780.2 66.0L786.7 66.5L790.3 66.6L793.5 65.4L800.0 66.6L805.4 64.9L809.8 64.1L814.4 64.5L817.0 65.8L821.4 64.9L826.9 65.1L831.1 64.8L835.7 64.6L841.8 65.3L846.6 62.9L850.7 62.7L854.5 63.6L860.8 64.1L864.2 64.3L867.2 63.5L870.9 62.8L875.0 62.8L878.7 63.3L882.0 62.6L887.9 62.7L894.4 62.1L897.1 61.8L903.1 63.5L907.3 61.2L910.6 61.3L914.6 62.5L918.3 63.0L921.2 63.0L923.9 61.5L926.7 60.3L931.4 59.7L936.9 60.0L941.6 60.5L946.2 59.8L952.5 58.2L955.9 58.7L959.4 58.6L962.0 58.7L965.2 60.0L968.8 58.9L973.5 58.6L976.1 57.0L981.0 56.4L984.1 58.5L988.1 57.2L993.6 60.1L996.3 57.9L1000.0 58.6L1005.5 59.6L1009.0 58.6L1015.4 61.4L1020.7 59.1L1024.8 58.8L1028.7 56.4L1032.0 57.1L1037.2 58.0L1041.2 58.2L1047.4 56.9L1051.3 56.7L1055.4 54.1L1059.9 53.6L1064.8 53.0L1067.9 54.9L1071.0 53.0L1075.0 54.8L1078.4 55.1L1084.8 52.2L1090.0 52.9L1095.1 50.5L1098.9 51.4L1103.3 49.9L1107.5 49.5L1112.8 48.6L1115.5 49.9L1119.0 48.0L1122.5 49.7L1128.9 47.9L1133.9 47.9L1139.7 47.9L1144.2 45.4L1147.6 46.2L1151.7 44.3L1156.7 44.9L1160.6 45.6L1165.8 45.3L1170.3 43.5L1174.9 42.0L1179.5 41.2L1182.4 41.9L1188.4 45.2L1192.5 41.8L1196.3 41.6L1200.5 41.1L1203.5 39.8L1206.1 40.2L1210.2 40.0L1212.9 40.1L1218.3 40.4L1222.8 38.0L1226.4 37.7L1230.5 38.2L1233.4 38.5L1236.0 37.0L1239.4 36.2L1245.5 34.8L1251.9 33.5L1257.7 36.5L1261.3 34.7L1267.1 33.6L1270.1 31.5L1274.7 31.3L1280.4 33.8L1286.2 33.7L1290.3 33.4L1293.7 32.1L1297.7 32.5L1301.5 30.2L1306.9 30.7L1310.8 32.6L1315.5 30.4L1321.0 26.7L1324.4 27.1L1329.6 28.0L1336.0 24.7L1339.4 25.9L1343.9 25.5L1348.2 25.6L1353.1 25.1L1357.4 24.9L1363.9 24.9L1368.0 24.9L1371.4 24.4L1377.1 22.3L1382.5 20.5L1388.4 19.1L1394.1 18.9L1399.7 18.1L1402.6 16.1L1405.5 16.2L1411.6 15.4L1417.7 17.3L1420.2 16.1L1425.1 17.2L1429.5 15.3L1433.4 15.3L1437.4 15.5L1440.0 15.5V0Z'/%3E%3C/svg%3E") bottom / 100% var(--hero-tear) no-repeat;
  mask: linear-gradient(#000 0 0) top / 100% calc(100% - var(--hero-tear) + 1px) no-repeat, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 80' preserveAspectRatio='none'%3E%3Cpath d='M0 0V14.6L6.4 16.7L10.0 16.1L13.0 17.1L16.2 18.5L19.2 19.2L22.8 20.7L26.1 19.4L29.5 19.4L32.3 19.2L36.3 20.8L42.2 20.4L45.7 20.5L52.0 22.6L58.4 20.5L63.3 20.7L68.0 22.7L71.3 20.2L75.3 22.5L81.7 23.6L84.3 24.8L88.7 24.9L94.2 26.2L100.3 25.4L104.5 27.3L108.5 27.1L115.0 28.7L119.8 27.7L122.4 28.4L126.9 28.7L132.1 27.8L136.4 30.3L140.6 30.4L145.5 29.4L151.4 31.6L155.7 31.1L160.1 32.3L162.9 32.0L167.7 34.0L170.3 36.3L174.6 36.5L179.8 35.8L185.2 36.3L189.8 38.1L195.9 36.9L200.9 39.9L206.6 40.5L212.0 40.6L218.1 41.7L221.9 41.6L226.6 41.2L229.3 41.3L232.4 39.2L237.6 41.6L242.2 39.5L248.1 40.5L254.2 39.9L259.0 40.7L261.6 43.7L266.4 43.4L270.5 46.0L273.5 45.1L277.3 45.3L279.9 45.9L283.8 48.0L287.3 47.2L291.5 48.6L296.5 49.1L300.0 50.1L303.7 51.1L306.8 49.2L310.9 51.3L313.5 49.7L316.5 50.9L319.7 49.9L324.3 51.9L330.2 53.7L334.5 53.2L338.7 56.3L343.0 53.5L347.6 51.4L353.5 53.7L360.0 54.7L365.6 55.2L370.9 55.5L373.6 54.4L378.7 55.7L382.5 56.2L389.0 56.7L391.6 56.8L394.3 55.7L400.5 57.2L406.9 57.7L412.5 55.8L415.6 57.2L419.8 57.3L425.0 57.5L427.5 58.9L433.6 62.5L437.8 58.0L444.1 59.1L449.0 57.3L451.7 58.8L456.0 58.1L460.6 60.7L463.6 60.5L467.2 60.0L472.7 58.8L478.7 59.1L483.7 60.0L488.4 62.3L492.3 63.2L497.3 63.9L503.0 63.1L507.7 64.4L510.6 64.8L515.0 64.1L520.2 62.0L523.8 62.0L526.8 63.6L532.9 62.5L537.0 64.1L541.0 62.3L545.7 63.9L549.0 63.9L553.6 63.5L556.4 63.5L562.5 62.3L567.6 63.0L573.1 63.6L577.6 64.2L581.8 65.2L587.6 65.5L592.9 65.3L599.4 64.1L603.1 68.6L608.7 63.6L614.8 63.1L618.2 65.3L621.9 63.4L627.6 64.2L631.5 64.3L634.2 65.5L638.8 63.2L641.3 63.8L646.2 62.7L652.2 63.9L656.9 62.9L662.7 65.5L665.6 64.6L671.6 64.5L674.4 66.4L677.5 66.6L681.9 66.3L686.3 67.1L691.6 64.8L697.3 64.7L702.0 64.9L705.5 64.6L710.2 66.2L713.1 66.1L719.0 65.8L723.1 64.2L728.2 66.6L732.3 64.4L738.0 66.9L741.9 67.1L747.5 68.0L753.6 67.3L760.1 67.1L766.4 67.2L771.2 67.1L775.5 64.9L780.2 66.0L786.7 66.5L790.3 66.6L793.5 65.4L800.0 66.6L805.4 64.9L809.8 64.1L814.4 64.5L817.0 65.8L821.4 64.9L826.9 65.1L831.1 64.8L835.7 64.6L841.8 65.3L846.6 62.9L850.7 62.7L854.5 63.6L860.8 64.1L864.2 64.3L867.2 63.5L870.9 62.8L875.0 62.8L878.7 63.3L882.0 62.6L887.9 62.7L894.4 62.1L897.1 61.8L903.1 63.5L907.3 61.2L910.6 61.3L914.6 62.5L918.3 63.0L921.2 63.0L923.9 61.5L926.7 60.3L931.4 59.7L936.9 60.0L941.6 60.5L946.2 59.8L952.5 58.2L955.9 58.7L959.4 58.6L962.0 58.7L965.2 60.0L968.8 58.9L973.5 58.6L976.1 57.0L981.0 56.4L984.1 58.5L988.1 57.2L993.6 60.1L996.3 57.9L1000.0 58.6L1005.5 59.6L1009.0 58.6L1015.4 61.4L1020.7 59.1L1024.8 58.8L1028.7 56.4L1032.0 57.1L1037.2 58.0L1041.2 58.2L1047.4 56.9L1051.3 56.7L1055.4 54.1L1059.9 53.6L1064.8 53.0L1067.9 54.9L1071.0 53.0L1075.0 54.8L1078.4 55.1L1084.8 52.2L1090.0 52.9L1095.1 50.5L1098.9 51.4L1103.3 49.9L1107.5 49.5L1112.8 48.6L1115.5 49.9L1119.0 48.0L1122.5 49.7L1128.9 47.9L1133.9 47.9L1139.7 47.9L1144.2 45.4L1147.6 46.2L1151.7 44.3L1156.7 44.9L1160.6 45.6L1165.8 45.3L1170.3 43.5L1174.9 42.0L1179.5 41.2L1182.4 41.9L1188.4 45.2L1192.5 41.8L1196.3 41.6L1200.5 41.1L1203.5 39.8L1206.1 40.2L1210.2 40.0L1212.9 40.1L1218.3 40.4L1222.8 38.0L1226.4 37.7L1230.5 38.2L1233.4 38.5L1236.0 37.0L1239.4 36.2L1245.5 34.8L1251.9 33.5L1257.7 36.5L1261.3 34.7L1267.1 33.6L1270.1 31.5L1274.7 31.3L1280.4 33.8L1286.2 33.7L1290.3 33.4L1293.7 32.1L1297.7 32.5L1301.5 30.2L1306.9 30.7L1310.8 32.6L1315.5 30.4L1321.0 26.7L1324.4 27.1L1329.6 28.0L1336.0 24.7L1339.4 25.9L1343.9 25.5L1348.2 25.6L1353.1 25.1L1357.4 24.9L1363.9 24.9L1368.0 24.9L1371.4 24.4L1377.1 22.3L1382.5 20.5L1388.4 19.1L1394.1 18.9L1399.7 18.1L1402.6 16.1L1405.5 16.2L1411.6 15.4L1417.7 17.3L1420.2 16.1L1425.1 17.2L1429.5 15.3L1433.4 15.3L1437.4 15.5L1440.0 15.5V0Z'/%3E%3C/svg%3E") bottom / 100% var(--hero-tear) no-repeat; }
/* the panel itself is cut along the tear (no cream fill painted inside it, so no edge line); only the light rim layer shows */
.ra-hero--panel .ra-torn--arc::after { display: none; }
.ra-hero__bar { position: relative; z-index: 3; display: flex; align-items: center; justify-content: space-between; gap: var(--space-2); max-width: calc(var(--content-max) + 2 * var(--gutter-desktop)); margin: 0 auto; padding: var(--space-3) var(--space-3) 0; }
.ra-hero__logo { display: block; flex: none; border-radius: var(--radius-sm); }
.ra-hero__logo img { width: var(--logo-icon-h); height: var(--logo-icon-h); border-radius: var(--radius-sm); }
/* large logo in the hero content, above the eyebrow (bar without logo: .ra-hero__bar--no-logo) */
.ra-hero__mark { display: block; align-self: flex-start; margin-left: calc(var(--logo-mark-h) * -0.175); border-radius: var(--radius-sm); } /* the oval art sits 17.5% in from the square file edge; this lines it up with the eyebrow */
.ra-hero__mark img { display: block; width: var(--logo-mark-h); height: var(--logo-mark-h); }
.ra-hero__mark:focus-visible { outline: 3px solid var(--focus-on-forest); outline-offset: 4px; }
.ra-hero__bar--no-logo .ra-hero__actions { margin-left: auto; }
/* social links on the left of the bar: solid brand glyphs (Simple Icons) in a glass pill, like the nav */
.ra-hero__social { display: flex; gap: 0; margin: 0; padding: var(--space-1); list-style: none; border-radius: var(--radius-pill); background: var(--glass); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); box-shadow: var(--shadow-card); }
.ra-hero__social a { display: inline-flex; align-items: center; justify-content: center; width: var(--tap-min); height: var(--tap-min); border-radius: var(--radius-pill); color: var(--on-forest); transition: background-color .15s, color .15s, box-shadow .2s; }
.ra-hero__social a:hover { background: var(--cream-50); color: var(--ink); box-shadow: var(--shadow-glow-forest); }
.ra-hero__social a:focus-visible { outline: 3px solid var(--focus-on-forest); outline-offset: 2px; }
.ra-brand { display: block; width: 20px; height: 20px; fill: currentColor; }
@media (min-width: 768px) { .ra-hero__social { gap: var(--space-1); } }
.ra-hero__nav { display: none; }
.ra-hero__nav ul { display: flex; gap: var(--space-1); margin: 0; padding: 0; list-style: none; }
.ra-hero__nav a { display: inline-flex; align-items: center; min-height: var(--tap-min); padding: 0 var(--space-4); border-radius: var(--radius-pill); color: var(--on-forest); font: 600 16px/24px var(--font-body); letter-spacing: .01em; text-decoration: none; transition: background-color .15s, color .15s, box-shadow .2s; }
.ra-hero__nav a:hover, .ra-hero__nav a[aria-current="page"] { background: var(--cream-50); color: var(--ink); }
.ra-hero__nav a:hover { box-shadow: var(--shadow-glow-forest); }
.ra-hero__nav a:focus-visible { outline: 3px solid var(--focus-on-forest); outline-offset: 2px; }
.ra-hero__actions { display: flex; align-items: center; gap: var(--space-2); }
.ra-icon-btn { display: inline-flex; align-items: center; justify-content: center; min-width: var(--tap-min); height: var(--tap-min); padding: 0; border: 1px solid var(--on-forest-muted); border-radius: var(--radius-pill); background: transparent; color: var(--on-forest); font: 600 14px/20px var(--font-body); letter-spacing: .04em; cursor: pointer; }
.ra-icon-btn { transition: box-shadow .2s; }
.ra-hero .ra-icon-btn:hover { box-shadow: var(--shadow-glow-forest); }
.ra-on-forest .ra-lang { background: transparent; border-color: var(--on-forest-muted); }
.ra-on-forest .ra-lang button { color: var(--on-forest); }
.ra-on-forest .ra-lang button[aria-pressed="true"] { background: var(--cream-50); color: var(--ink); }
.ra-hero--panel .ra-hero__content { padding-top: var(--space-12); }
.ra-hero--panel .ra-sample { position: static; vertical-align: middle; margin-left: var(--space-2); }
@media (min-width: 768px) {
  .ra-hero--panel { margin: var(--hero-inset-desktop); --hero-tear: var(--torn-arc-h-desktop); }
  .ra-hero__bar { padding: var(--space-6) var(--gutter-desktop) 0; }
}
@media (min-width: 1200px) { .ra-hero__bar--no-logo { display: grid; grid-template-columns: 1fr auto 1fr; } .ra-hero__bar--no-logo .ra-hero__social { grid-column: 1; justify-self: start; } .ra-hero__bar--no-logo .ra-hero__nav { grid-column: 2; } .ra-hero__bar--no-logo .ra-hero__actions { grid-column: 3; justify-self: end; } }
@media (min-width: 1200px) { .ra-hero__nav { display: block; padding: var(--space-1); border-radius: var(--radius-pill); background: var(--glass); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); box-shadow: var(--shadow-card); } }

/* staggered display lines: each line a span; indented lines step in */
.ra-stagger > span { display: block; }
.ra-stagger > .ra-stagger__in { padding-left: var(--stagger-indent); }
.ra-display--hero-xl { font-size: 46px; line-height: 48px; font-weight: 300; }
@media (min-width: 768px) { .ra-display--hero-xl { font-size: 76px; line-height: 76px; font-weight: 250; } }
@media (min-width: 1200px) {
  .ra-display--hero-xl { font-size: 100px; line-height: 96px; }
  .ra-display--hero-xl.ra-stagger > .ra-stagger__in { padding-left: var(--stagger-indent-wide); }
}

/* soft green glass card over the hero photo */
.ra-glass { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); max-width: 300px; padding: var(--space-6); border-radius: var(--radius-md); background: var(--glass); color: var(--on-forest); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.ra-glass p { margin: 0; font-size: 16px; line-height: 24px; }
.ra-hero__stage { display: flex; flex-direction: column; gap: var(--space-6); }
@media (min-width: 1200px) {
  .ra-hero__stage { display: block; position: relative; }
  .ra-hero__stage .ra-glass { position: absolute; left: 0; top: 120px; width: 280px; }
}

/* light pill button: cream fill on forest or photos */
.ra-btn--light { background: var(--cream-50); color: var(--ink); }
.ra-btn--light:hover { background: var(--cream-200); }

/* ---------- torn-paper divider ---------- */
/* Place as the LAST child of a section. Two layers: a lighter fibrous fringe (::before) and the
   tear itself (::after) in the color of the NEXT section. */
.ra-torn { position: relative; display: block; width: 100%; height: var(--torn-h-mobile); pointer-events: none; --torn-fill: var(--cream-50); --torn-fringe: var(--paper); }
.ra-torn::before, .ra-torn::after { content: ""; position: absolute; inset: 0; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 32' preserveAspectRatio='none'%3E%3Cpath d='M0 32V10.3L3.1 11.6L9.1 8.5L13.4 10.9L16.2 10.1L19.8 11.0L23.0 14.0L27.1 12.9L33.1 13.5L37.0 13.9L40.4 11.0L43.0 11.5L48.2 4.4L53.8 11.8L56.8 11.1L59.9 7.1L62.5 11.0L66.4 8.0L70.8 9.2L74.3 10.4L78.9 8.2L85.4 10.1L88.5 9.1L91.9 9.1L97.7 9.4L100.3 7.4L106.6 7.7L110.6 8.1L115.6 10.2L121.3 7.5L126.8 9.6L132.5 12.4L137.9 10.6L143.6 9.6L147.5 12.3L152.6 12.0L158.4 11.3L163.3 11.6L167.2 11.1L173.3 7.0L176.6 10.6L182.0 11.9L187.6 10.8L193.2 11.4L197.5 12.0L201.8 10.0L207.8 10.4L213.7 3.3L216.4 2.4L221.6 6.5L227.9 7.4L231.0 8.6L234.8 8.3L239.8 8.2L246.2 8.4L249.8 7.4L253.3 7.9L256.2 1.2L261.2 3.8L265.5 9.3L268.5 11.5L271.2 10.6L274.9 8.1L277.5 13.0L283.7 10.8L289.5 11.4L293.4 12.9L297.3 11.3L300.8 10.6L306.0 11.8L309.1 11.4L313.8 11.7L316.3 11.9L320.9 11.4L323.5 11.3L328.1 13.1L332.2 12.6L337.3 10.8L342.7 13.9L348.5 13.9L353.8 10.1L356.7 14.2L361.9 16.6L366.6 13.7L369.4 13.3L375.8 13.8L381.3 10.5L386.8 9.3L392.0 14.1L396.3 12.6L402.8 17.7L407.1 13.0L411.9 6.4L416.4 16.1L420.9 16.0L423.9 7.5L429.8 13.1L433.4 13.5L437.4 8.8L441.0 16.5L444.3 13.9L449.3 16.2L452.0 14.8L455.6 12.3L459.5 10.8L464.6 10.7L467.8 10.0L473.9 13.6L476.8 12.0L481.6 14.7L486.2 15.0L492.5 13.7L495.9 14.4L502.2 10.9L508.3 15.5L514.5 15.2L517.4 13.5L522.8 15.3L525.5 15.0L529.2 12.5L532.1 11.9L535.5 15.9L540.6 14.2L547.0 13.6L552.2 11.5L555.6 10.4L558.9 12.4L565.2 10.8L570.8 10.0L574.2 5.0L577.5 8.0L583.6 10.8L587.4 3.1L591.4 5.9L595.4 10.6L599.3 5.9L603.3 11.1L605.9 5.7L608.6 10.4L612.5 8.4L617.9 9.4L624.0 10.6L628.4 11.3L632.6 10.3L638.1 11.0L641.9 10.4L647.4 10.1L651.2 11.1L654.0 8.9L657.5 10.3L663.4 11.7L668.1 11.6L671.6 10.2L675.7 13.3L680.8 12.9L686.7 15.6L693.1 11.6L697.4 4.4L702.3 10.7L705.9 6.6L711.1 8.5L715.8 7.1L720.8 6.6L724.4 8.0L728.4 7.7L731.7 10.5L735.9 10.2L739.0 8.5L741.9 6.9L746.5 12.6L752.8 9.7L757.3 10.0L762.2 12.0L766.3 12.9L770.4 12.0L775.8 9.2L778.8 11.7L783.0 11.7L787.3 10.2L792.8 13.1L795.7 11.2L800.3 11.0L805.9 15.3L808.9 12.9L812.2 12.9L815.4 13.3L820.9 10.6L824.0 11.7L828.5 13.6L833.7 7.3L838.8 11.3L844.8 10.9L850.5 12.0L856.0 6.2L859.5 13.4L863.3 13.7L867.8 14.9L870.4 12.3L873.8 13.7L878.2 8.2L883.3 12.9L885.8 11.8L890.1 12.2L892.8 4.5L895.3 10.6L900.3 9.4L904.0 12.6L906.5 11.1L910.8 5.1L916.3 10.4L921.1 9.8L926.1 7.0L929.6 10.6L935.6 9.1L940.9 10.9L946.1 11.4L949.9 10.4L953.0 8.8L956.0 12.8L961.5 10.2L967.3 12.3L973.5 4.6L979.3 12.3L982.2 11.6L986.4 11.9L990.3 13.3L995.3 12.9L999.2 15.3L1002.1 15.9L1007.6 18.7L1010.9 13.7L1017.1 13.2L1020.1 14.2L1025.7 14.7L1031.8 13.4L1035.3 15.2L1038.8 13.0L1043.8 13.3L1049.0 14.1L1053.8 11.4L1057.1 8.2L1060.6 12.7L1063.8 14.7L1066.7 11.7L1071.0 11.9L1075.0 10.2L1079.5 13.0L1083.6 13.0L1089.1 11.8L1094.7 13.2L1099.1 13.2L1104.7 14.6L1109.0 13.7L1112.2 14.1L1118.6 12.4L1124.9 13.4L1130.3 13.0L1134.4 14.5L1140.0 8.1L1144.1 11.6L1148.0 11.8L1152.6 12.1L1155.6 13.5L1160.3 12.0L1166.1 13.6L1169.1 12.7L1173.1 5.6L1176.7 10.9L1181.8 11.4L1184.5 5.7L1189.6 13.5L1192.5 10.0L1195.6 13.6L1200.5 12.9L1206.4 12.1L1210.6 14.6L1213.7 16.5L1218.2 13.8L1222.5 12.7L1226.7 14.3L1229.3 12.7L1235.8 6.5L1240.8 12.6L1245.4 13.8L1250.1 13.4L1254.6 11.4L1260.3 12.5L1265.3 16.5L1268.0 13.8L1273.1 13.4L1278.1 12.7L1283.3 11.8L1286.0 11.6L1291.7 11.5L1295.9 9.3L1298.6 12.1L1304.8 12.9L1311.2 11.5L1314.6 5.2L1317.4 13.6L1320.9 13.4L1326.3 13.7L1331.6 12.1L1337.0 8.9L1342.4 6.2L1347.2 12.0L1351.1 12.2L1356.8 12.9L1359.5 12.6L1364.5 12.9L1368.7 12.4L1374.8 13.1L1378.9 4.7L1384.7 12.7L1390.4 6.7L1396.1 9.5L1401.0 12.0L1406.5 12.5L1412.1 9.5L1416.7 11.3L1419.9 11.5L1424.5 8.4L1430.2 10.0L1432.7 8.9L1437.5 10.3L1440.0 10.3V32Z'/%3E%3C/svg%3E") center bottom / 100% 100% no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 32' preserveAspectRatio='none'%3E%3Cpath d='M0 32V10.3L3.1 11.6L9.1 8.5L13.4 10.9L16.2 10.1L19.8 11.0L23.0 14.0L27.1 12.9L33.1 13.5L37.0 13.9L40.4 11.0L43.0 11.5L48.2 4.4L53.8 11.8L56.8 11.1L59.9 7.1L62.5 11.0L66.4 8.0L70.8 9.2L74.3 10.4L78.9 8.2L85.4 10.1L88.5 9.1L91.9 9.1L97.7 9.4L100.3 7.4L106.6 7.7L110.6 8.1L115.6 10.2L121.3 7.5L126.8 9.6L132.5 12.4L137.9 10.6L143.6 9.6L147.5 12.3L152.6 12.0L158.4 11.3L163.3 11.6L167.2 11.1L173.3 7.0L176.6 10.6L182.0 11.9L187.6 10.8L193.2 11.4L197.5 12.0L201.8 10.0L207.8 10.4L213.7 3.3L216.4 2.4L221.6 6.5L227.9 7.4L231.0 8.6L234.8 8.3L239.8 8.2L246.2 8.4L249.8 7.4L253.3 7.9L256.2 1.2L261.2 3.8L265.5 9.3L268.5 11.5L271.2 10.6L274.9 8.1L277.5 13.0L283.7 10.8L289.5 11.4L293.4 12.9L297.3 11.3L300.8 10.6L306.0 11.8L309.1 11.4L313.8 11.7L316.3 11.9L320.9 11.4L323.5 11.3L328.1 13.1L332.2 12.6L337.3 10.8L342.7 13.9L348.5 13.9L353.8 10.1L356.7 14.2L361.9 16.6L366.6 13.7L369.4 13.3L375.8 13.8L381.3 10.5L386.8 9.3L392.0 14.1L396.3 12.6L402.8 17.7L407.1 13.0L411.9 6.4L416.4 16.1L420.9 16.0L423.9 7.5L429.8 13.1L433.4 13.5L437.4 8.8L441.0 16.5L444.3 13.9L449.3 16.2L452.0 14.8L455.6 12.3L459.5 10.8L464.6 10.7L467.8 10.0L473.9 13.6L476.8 12.0L481.6 14.7L486.2 15.0L492.5 13.7L495.9 14.4L502.2 10.9L508.3 15.5L514.5 15.2L517.4 13.5L522.8 15.3L525.5 15.0L529.2 12.5L532.1 11.9L535.5 15.9L540.6 14.2L547.0 13.6L552.2 11.5L555.6 10.4L558.9 12.4L565.2 10.8L570.8 10.0L574.2 5.0L577.5 8.0L583.6 10.8L587.4 3.1L591.4 5.9L595.4 10.6L599.3 5.9L603.3 11.1L605.9 5.7L608.6 10.4L612.5 8.4L617.9 9.4L624.0 10.6L628.4 11.3L632.6 10.3L638.1 11.0L641.9 10.4L647.4 10.1L651.2 11.1L654.0 8.9L657.5 10.3L663.4 11.7L668.1 11.6L671.6 10.2L675.7 13.3L680.8 12.9L686.7 15.6L693.1 11.6L697.4 4.4L702.3 10.7L705.9 6.6L711.1 8.5L715.8 7.1L720.8 6.6L724.4 8.0L728.4 7.7L731.7 10.5L735.9 10.2L739.0 8.5L741.9 6.9L746.5 12.6L752.8 9.7L757.3 10.0L762.2 12.0L766.3 12.9L770.4 12.0L775.8 9.2L778.8 11.7L783.0 11.7L787.3 10.2L792.8 13.1L795.7 11.2L800.3 11.0L805.9 15.3L808.9 12.9L812.2 12.9L815.4 13.3L820.9 10.6L824.0 11.7L828.5 13.6L833.7 7.3L838.8 11.3L844.8 10.9L850.5 12.0L856.0 6.2L859.5 13.4L863.3 13.7L867.8 14.9L870.4 12.3L873.8 13.7L878.2 8.2L883.3 12.9L885.8 11.8L890.1 12.2L892.8 4.5L895.3 10.6L900.3 9.4L904.0 12.6L906.5 11.1L910.8 5.1L916.3 10.4L921.1 9.8L926.1 7.0L929.6 10.6L935.6 9.1L940.9 10.9L946.1 11.4L949.9 10.4L953.0 8.8L956.0 12.8L961.5 10.2L967.3 12.3L973.5 4.6L979.3 12.3L982.2 11.6L986.4 11.9L990.3 13.3L995.3 12.9L999.2 15.3L1002.1 15.9L1007.6 18.7L1010.9 13.7L1017.1 13.2L1020.1 14.2L1025.7 14.7L1031.8 13.4L1035.3 15.2L1038.8 13.0L1043.8 13.3L1049.0 14.1L1053.8 11.4L1057.1 8.2L1060.6 12.7L1063.8 14.7L1066.7 11.7L1071.0 11.9L1075.0 10.2L1079.5 13.0L1083.6 13.0L1089.1 11.8L1094.7 13.2L1099.1 13.2L1104.7 14.6L1109.0 13.7L1112.2 14.1L1118.6 12.4L1124.9 13.4L1130.3 13.0L1134.4 14.5L1140.0 8.1L1144.1 11.6L1148.0 11.8L1152.6 12.1L1155.6 13.5L1160.3 12.0L1166.1 13.6L1169.1 12.7L1173.1 5.6L1176.7 10.9L1181.8 11.4L1184.5 5.7L1189.6 13.5L1192.5 10.0L1195.6 13.6L1200.5 12.9L1206.4 12.1L1210.6 14.6L1213.7 16.5L1218.2 13.8L1222.5 12.7L1226.7 14.3L1229.3 12.7L1235.8 6.5L1240.8 12.6L1245.4 13.8L1250.1 13.4L1254.6 11.4L1260.3 12.5L1265.3 16.5L1268.0 13.8L1273.1 13.4L1278.1 12.7L1283.3 11.8L1286.0 11.6L1291.7 11.5L1295.9 9.3L1298.6 12.1L1304.8 12.9L1311.2 11.5L1314.6 5.2L1317.4 13.6L1320.9 13.4L1326.3 13.7L1331.6 12.1L1337.0 8.9L1342.4 6.2L1347.2 12.0L1351.1 12.2L1356.8 12.9L1359.5 12.6L1364.5 12.9L1368.7 12.4L1374.8 13.1L1378.9 4.7L1384.7 12.7L1390.4 6.7L1396.1 9.5L1401.0 12.0L1406.5 12.5L1412.1 9.5L1416.7 11.3L1419.9 11.5L1424.5 8.4L1430.2 10.0L1432.7 8.9L1437.5 10.3L1440.0 10.3V32Z'/%3E%3C/svg%3E") center bottom / 100% 100% no-repeat; }
.ra-torn::before { background: var(--torn-fringe); }
.ra-torn::after { background: var(--torn-fill); -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 32' preserveAspectRatio='none'%3E%3Cpath d='M0 32V15.3L3.1 17.1L9.1 13.4L13.4 15.4L16.2 15.1L19.8 14.3L23.0 17.2L27.1 16.4L33.1 16.4L37.0 16.6L40.4 14.5L43.0 15.0L48.2 15.0L53.8 15.7L56.8 14.8L59.9 15.6L62.5 15.1L66.4 13.3L70.8 13.6L74.3 14.7L78.9 12.4L85.4 14.7L88.5 14.4L91.9 14.5L97.7 14.3L100.3 12.0L106.6 13.3L110.6 12.6L115.6 14.8L121.3 12.5L126.8 14.0L132.5 15.9L137.9 13.5L143.6 13.5L147.5 14.8L152.6 14.9L158.4 14.2L163.3 14.7L167.2 15.6L173.3 16.1L176.6 14.6L182.0 16.3L187.6 14.5L193.2 15.2L197.5 15.0L201.8 14.2L207.8 14.8L213.7 11.8L216.4 13.5L221.6 11.8L227.9 12.7L231.0 12.9L234.8 17.0L239.8 13.3L246.2 12.0L249.8 12.2L253.3 12.3L256.2 12.0L261.2 14.7L265.5 13.5L268.5 14.3L271.2 13.5L274.9 14.8L277.5 15.7L283.7 14.1L289.5 15.2L293.4 16.7L297.3 14.4L300.8 15.0L306.0 15.8L309.1 16.5L313.8 16.2L316.3 16.8L320.9 15.8L323.5 16.0L328.1 18.3L332.2 16.9L337.3 15.8L342.7 18.0L348.5 17.8L353.8 17.3L356.7 17.7L361.9 20.2L366.6 17.2L369.4 16.0L375.8 16.6L381.3 17.0L386.8 15.9L392.0 17.2L396.3 16.5L402.8 21.3L407.1 16.7L411.9 16.8L416.4 19.8L420.9 20.5L423.9 18.8L429.8 18.5L433.4 19.4L437.4 19.4L441.0 20.7L444.3 18.4L449.3 19.4L452.0 18.4L455.6 15.6L459.5 15.9L464.6 15.5L467.8 15.1L473.9 17.9L476.8 16.1L481.6 18.4L486.2 17.5L492.5 17.5L495.9 18.4L502.2 20.6L508.3 19.3L514.5 19.9L517.4 17.5L522.8 18.4L525.5 18.5L529.2 16.0L532.1 15.6L535.5 19.6L540.6 17.7L547.0 17.0L552.2 15.8L555.6 14.4L558.9 16.7L565.2 14.9L570.8 14.6L574.2 14.8L577.5 16.5L583.6 16.1L587.4 13.7L591.4 14.2L595.4 16.0L599.3 15.4L603.3 15.6L605.9 13.9L608.6 15.5L612.5 13.3L617.9 13.4L624.0 14.4L628.4 15.5L632.6 14.0L638.1 15.1L641.9 13.7L647.4 13.2L651.2 15.6L654.0 12.8L657.5 14.0L663.4 15.1L668.1 14.6L671.6 14.1L675.7 17.0L680.8 17.2L686.7 19.5L693.1 15.4L697.4 13.9L702.3 13.1L705.9 13.9L711.1 12.0L715.8 11.3L720.8 11.3L724.4 12.1L728.4 12.6L731.7 13.8L735.9 14.4L739.0 12.1L741.9 14.2L746.5 15.5L752.8 13.5L757.3 13.1L762.2 15.7L766.3 15.8L770.4 14.9L775.8 19.4L778.8 15.3L783.0 15.4L787.3 13.7L792.8 16.2L795.7 14.2L800.3 13.8L805.9 18.2L808.9 16.2L812.2 16.5L815.4 15.8L820.9 13.7L824.0 14.8L828.5 16.6L833.7 16.3L838.8 14.8L844.8 14.2L850.5 15.1L856.0 15.9L859.5 16.6L863.3 17.0L867.8 17.6L870.4 14.7L873.8 16.4L878.2 14.7L883.3 16.7L885.8 15.8L890.1 16.5L892.8 15.0L895.3 15.0L900.3 14.8L904.0 18.0L906.5 16.0L910.8 14.1L916.3 15.7L921.1 14.9L926.1 16.6L929.6 16.0L935.6 14.7L940.9 15.8L946.1 16.6L949.9 14.6L953.0 14.1L956.0 17.6L961.5 14.4L967.3 17.2L973.5 14.7L979.3 16.6L982.2 15.0L986.4 15.1L990.3 16.4L995.3 15.9L999.2 18.3L1002.1 18.8L1007.6 22.4L1010.9 17.9L1017.1 17.0L1020.1 18.0L1025.7 17.7L1031.8 15.6L1035.3 18.1L1038.8 16.6L1043.8 16.1L1049.0 17.3L1053.8 15.2L1057.1 15.7L1060.6 15.7L1063.8 17.7L1066.7 15.7L1071.0 15.0L1075.0 14.4L1079.5 16.3L1083.6 16.6L1089.1 15.7L1094.7 16.8L1099.1 15.7L1104.7 17.3L1109.0 17.1L1112.2 17.3L1118.6 15.3L1124.9 16.7L1130.3 16.5L1134.4 17.8L1140.0 15.0L1144.1 14.5L1148.0 15.3L1152.6 15.1L1155.6 16.8L1160.3 15.0L1166.1 16.7L1169.1 16.7L1173.1 14.7L1176.7 14.6L1181.8 15.8L1184.5 16.3L1189.6 17.5L1192.5 14.1L1195.6 16.7L1200.5 16.7L1206.4 15.3L1210.6 17.9L1213.7 19.8L1218.2 17.3L1222.5 17.5L1226.7 18.7L1229.3 17.6L1235.8 17.2L1240.8 16.5L1245.4 17.8L1250.1 17.8L1254.6 15.9L1260.3 16.1L1265.3 20.8L1268.0 18.0L1273.1 16.8L1278.1 16.0L1283.3 14.8L1286.0 15.6L1291.7 15.2L1295.9 13.6L1298.6 16.6L1304.8 16.9L1311.2 14.5L1314.6 15.6L1317.4 16.0L1320.9 15.7L1326.3 16.3L1331.6 15.0L1337.0 16.8L1342.4 13.9L1347.2 14.7L1351.1 15.2L1356.8 16.1L1359.5 16.1L1364.5 16.1L1368.7 15.7L1374.8 15.5L1378.9 15.0L1384.7 16.2L1390.4 15.9L1396.1 14.6L1401.0 16.2L1406.5 16.6L1412.1 14.7L1416.7 15.4L1419.9 16.0L1424.5 18.1L1430.2 13.9L1432.7 13.5L1437.5 14.2L1440.0 14.2V32Z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 32' preserveAspectRatio='none'%3E%3Cpath d='M0 32V15.3L3.1 17.1L9.1 13.4L13.4 15.4L16.2 15.1L19.8 14.3L23.0 17.2L27.1 16.4L33.1 16.4L37.0 16.6L40.4 14.5L43.0 15.0L48.2 15.0L53.8 15.7L56.8 14.8L59.9 15.6L62.5 15.1L66.4 13.3L70.8 13.6L74.3 14.7L78.9 12.4L85.4 14.7L88.5 14.4L91.9 14.5L97.7 14.3L100.3 12.0L106.6 13.3L110.6 12.6L115.6 14.8L121.3 12.5L126.8 14.0L132.5 15.9L137.9 13.5L143.6 13.5L147.5 14.8L152.6 14.9L158.4 14.2L163.3 14.7L167.2 15.6L173.3 16.1L176.6 14.6L182.0 16.3L187.6 14.5L193.2 15.2L197.5 15.0L201.8 14.2L207.8 14.8L213.7 11.8L216.4 13.5L221.6 11.8L227.9 12.7L231.0 12.9L234.8 17.0L239.8 13.3L246.2 12.0L249.8 12.2L253.3 12.3L256.2 12.0L261.2 14.7L265.5 13.5L268.5 14.3L271.2 13.5L274.9 14.8L277.5 15.7L283.7 14.1L289.5 15.2L293.4 16.7L297.3 14.4L300.8 15.0L306.0 15.8L309.1 16.5L313.8 16.2L316.3 16.8L320.9 15.8L323.5 16.0L328.1 18.3L332.2 16.9L337.3 15.8L342.7 18.0L348.5 17.8L353.8 17.3L356.7 17.7L361.9 20.2L366.6 17.2L369.4 16.0L375.8 16.6L381.3 17.0L386.8 15.9L392.0 17.2L396.3 16.5L402.8 21.3L407.1 16.7L411.9 16.8L416.4 19.8L420.9 20.5L423.9 18.8L429.8 18.5L433.4 19.4L437.4 19.4L441.0 20.7L444.3 18.4L449.3 19.4L452.0 18.4L455.6 15.6L459.5 15.9L464.6 15.5L467.8 15.1L473.9 17.9L476.8 16.1L481.6 18.4L486.2 17.5L492.5 17.5L495.9 18.4L502.2 20.6L508.3 19.3L514.5 19.9L517.4 17.5L522.8 18.4L525.5 18.5L529.2 16.0L532.1 15.6L535.5 19.6L540.6 17.7L547.0 17.0L552.2 15.8L555.6 14.4L558.9 16.7L565.2 14.9L570.8 14.6L574.2 14.8L577.5 16.5L583.6 16.1L587.4 13.7L591.4 14.2L595.4 16.0L599.3 15.4L603.3 15.6L605.9 13.9L608.6 15.5L612.5 13.3L617.9 13.4L624.0 14.4L628.4 15.5L632.6 14.0L638.1 15.1L641.9 13.7L647.4 13.2L651.2 15.6L654.0 12.8L657.5 14.0L663.4 15.1L668.1 14.6L671.6 14.1L675.7 17.0L680.8 17.2L686.7 19.5L693.1 15.4L697.4 13.9L702.3 13.1L705.9 13.9L711.1 12.0L715.8 11.3L720.8 11.3L724.4 12.1L728.4 12.6L731.7 13.8L735.9 14.4L739.0 12.1L741.9 14.2L746.5 15.5L752.8 13.5L757.3 13.1L762.2 15.7L766.3 15.8L770.4 14.9L775.8 19.4L778.8 15.3L783.0 15.4L787.3 13.7L792.8 16.2L795.7 14.2L800.3 13.8L805.9 18.2L808.9 16.2L812.2 16.5L815.4 15.8L820.9 13.7L824.0 14.8L828.5 16.6L833.7 16.3L838.8 14.8L844.8 14.2L850.5 15.1L856.0 15.9L859.5 16.6L863.3 17.0L867.8 17.6L870.4 14.7L873.8 16.4L878.2 14.7L883.3 16.7L885.8 15.8L890.1 16.5L892.8 15.0L895.3 15.0L900.3 14.8L904.0 18.0L906.5 16.0L910.8 14.1L916.3 15.7L921.1 14.9L926.1 16.6L929.6 16.0L935.6 14.7L940.9 15.8L946.1 16.6L949.9 14.6L953.0 14.1L956.0 17.6L961.5 14.4L967.3 17.2L973.5 14.7L979.3 16.6L982.2 15.0L986.4 15.1L990.3 16.4L995.3 15.9L999.2 18.3L1002.1 18.8L1007.6 22.4L1010.9 17.9L1017.1 17.0L1020.1 18.0L1025.7 17.7L1031.8 15.6L1035.3 18.1L1038.8 16.6L1043.8 16.1L1049.0 17.3L1053.8 15.2L1057.1 15.7L1060.6 15.7L1063.8 17.7L1066.7 15.7L1071.0 15.0L1075.0 14.4L1079.5 16.3L1083.6 16.6L1089.1 15.7L1094.7 16.8L1099.1 15.7L1104.7 17.3L1109.0 17.1L1112.2 17.3L1118.6 15.3L1124.9 16.7L1130.3 16.5L1134.4 17.8L1140.0 15.0L1144.1 14.5L1148.0 15.3L1152.6 15.1L1155.6 16.8L1160.3 15.0L1166.1 16.7L1169.1 16.7L1173.1 14.7L1176.7 14.6L1181.8 15.8L1184.5 16.3L1189.6 17.5L1192.5 14.1L1195.6 16.7L1200.5 16.7L1206.4 15.3L1210.6 17.9L1213.7 19.8L1218.2 17.3L1222.5 17.5L1226.7 18.7L1229.3 17.6L1235.8 17.2L1240.8 16.5L1245.4 17.8L1250.1 17.8L1254.6 15.9L1260.3 16.1L1265.3 20.8L1268.0 18.0L1273.1 16.8L1278.1 16.0L1283.3 14.8L1286.0 15.6L1291.7 15.2L1295.9 13.6L1298.6 16.6L1304.8 16.9L1311.2 14.5L1314.6 15.6L1317.4 16.0L1320.9 15.7L1326.3 16.3L1331.6 15.0L1337.0 16.8L1342.4 13.9L1347.2 14.7L1351.1 15.2L1356.8 16.1L1359.5 16.1L1364.5 16.1L1368.7 15.7L1374.8 15.5L1378.9 15.0L1384.7 16.2L1390.4 15.9L1396.1 14.6L1401.0 16.2L1406.5 16.6L1412.1 14.7L1416.7 15.4L1419.9 16.0L1424.5 18.1L1430.2 13.9L1432.7 13.5L1437.5 14.2L1440.0 14.2V32Z'/%3E%3C/svg%3E"); }
/* the fill runs 1px into the next section so no hairline shows at fractional zoom */
.ra-torn::after { bottom: -1px; }
.ra-torn--cream-200 { --torn-fill: var(--cream-200); --torn-fringe: var(--paper); }
.ra-torn--forest { --torn-fill: var(--forest-950); --torn-fringe: var(--forest-900); }
/* cream-to-cream dividers: the tear only, no light rim */
.ra-torn--plain::before { display: none; }
@media (min-width: 768px) { .ra-torn { height: var(--torn-h-desktop); } }
/* curved torn edge: the tear follows a soft arc that dips toward the center (hero bottom) */
.ra-torn--arc { height: var(--torn-arc-h-mobile); }
.ra-torn--arc::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 80' preserveAspectRatio='none'%3E%3Cpath d='M0 80V10.5L6.4 12.9L10.0 11.8L13.0 13.9L16.2 15.1L19.2 15.4L22.8 17.0L26.1 8.0L29.5 15.4L32.3 15.3L36.3 16.5L42.2 15.7L45.7 16.1L52.0 16.7L58.4 17.1L63.3 12.1L68.0 18.2L71.3 11.8L75.3 17.9L81.7 15.7L84.3 14.0L88.7 14.6L94.2 21.8L100.3 20.8L104.5 23.3L108.5 23.9L115.0 24.9L119.8 24.2L122.4 24.6L126.9 20.5L132.1 22.6L136.4 25.4L140.6 25.1L145.5 24.5L151.4 27.4L155.7 27.2L160.1 28.2L162.9 29.7L167.7 26.4L170.3 27.5L174.6 31.8L179.8 27.0L185.2 32.1L189.8 33.9L195.9 27.6L200.9 35.8L206.6 36.4L212.0 36.4L218.1 37.8L221.9 33.5L226.6 38.7L229.3 38.6L232.4 35.5L237.6 33.1L242.2 34.7L248.1 35.6L254.2 34.2L259.0 36.0L261.6 39.5L266.4 40.5L270.5 43.2L273.5 40.9L277.3 34.3L279.9 41.0L283.8 37.6L287.3 42.0L291.5 43.8L296.5 43.8L300.0 44.4L303.7 45.2L306.8 38.0L310.9 46.3L313.5 44.0L316.5 45.8L319.7 45.4L324.3 47.2L330.2 42.5L334.5 48.5L338.7 51.2L343.0 49.6L347.6 46.9L353.5 49.7L360.0 50.5L365.6 51.1L370.9 52.1L373.6 51.5L378.7 51.6L382.5 52.6L389.0 52.8L391.6 53.7L394.3 52.8L400.5 53.2L406.9 55.3L412.5 53.0L415.6 54.3L419.8 53.6L425.0 52.9L427.5 54.1L433.6 50.7L437.8 53.7L444.1 53.7L449.0 52.5L451.7 53.9L456.0 53.2L460.6 55.2L463.6 55.1L467.2 54.6L472.7 53.1L478.7 54.7L483.7 50.6L488.4 58.6L492.3 54.2L497.3 61.0L503.0 59.4L507.7 61.6L510.6 62.5L515.0 56.6L520.2 57.9L523.8 57.6L526.8 58.7L532.9 58.0L537.0 59.5L541.0 57.5L545.7 58.4L549.0 54.2L553.6 58.4L556.4 53.4L562.5 58.2L567.6 58.2L573.1 58.6L577.6 59.5L581.8 60.3L587.6 61.0L592.9 55.2L599.4 60.3L603.1 65.0L608.7 59.5L614.8 59.4L618.2 61.4L621.9 59.4L627.6 59.1L631.5 59.6L634.2 60.8L638.8 58.0L641.3 58.3L646.2 57.8L652.2 58.1L656.9 58.8L662.7 61.4L665.6 59.8L671.6 61.0L674.4 62.9L677.5 59.3L681.9 58.4L686.3 59.3L691.6 54.8L697.3 61.8L702.0 61.9L705.5 61.7L710.2 59.1L713.1 63.4L719.0 59.5L723.1 61.1L728.2 63.8L732.3 61.0L738.0 64.0L741.9 63.4L747.5 64.2L753.6 56.9L760.1 62.1L766.4 63.5L771.2 62.5L775.5 61.8L780.2 63.0L786.7 63.9L790.3 63.5L793.5 63.1L800.0 63.8L805.4 57.5L809.8 60.7L814.4 61.3L817.0 61.7L821.4 61.2L826.9 61.1L831.1 60.7L835.7 55.5L841.8 61.6L846.6 59.8L850.7 59.5L854.5 61.2L860.8 61.3L864.2 54.7L867.2 61.3L870.9 59.3L875.0 53.8L878.7 59.4L882.0 58.7L887.9 59.7L894.4 58.9L897.1 58.4L903.1 59.5L907.3 57.9L910.6 57.6L914.6 59.0L918.3 60.2L921.2 59.9L923.9 58.9L926.7 57.7L931.4 51.1L936.9 56.9L941.6 57.2L946.2 56.2L952.5 55.2L955.9 54.7L959.4 54.8L962.0 54.8L965.2 56.2L968.8 54.4L973.5 55.1L976.1 53.1L981.0 53.4L984.1 50.4L988.1 54.6L993.6 56.1L996.3 53.9L1000.0 54.4L1005.5 54.7L1009.0 53.5L1015.4 51.6L1020.7 53.3L1024.8 53.1L1028.7 51.6L1032.0 51.9L1037.2 47.1L1041.2 53.3L1047.4 45.0L1051.3 46.6L1055.4 49.3L1059.9 45.4L1064.8 48.3L1067.9 49.9L1071.0 48.1L1075.0 50.5L1078.4 50.5L1084.8 47.1L1090.0 47.9L1095.1 41.8L1098.9 47.7L1103.3 41.9L1107.5 45.2L1112.8 40.2L1115.5 46.0L1119.0 43.6L1122.5 46.0L1128.9 43.9L1133.9 45.1L1139.7 40.5L1144.2 37.4L1147.6 43.1L1151.7 40.3L1156.7 40.4L1160.6 41.4L1165.8 41.8L1170.3 39.8L1174.9 38.2L1179.5 31.8L1182.4 37.8L1188.4 41.0L1192.5 37.3L1196.3 37.0L1200.5 36.5L1203.5 36.1L1206.1 29.8L1210.2 35.4L1212.9 36.7L1218.3 31.6L1222.8 33.7L1226.4 33.4L1230.5 30.0L1233.4 30.2L1236.0 32.6L1239.4 29.0L1245.5 30.6L1251.9 28.7L1257.7 31.3L1261.3 29.0L1267.1 29.7L1270.1 26.8L1274.7 21.8L1280.4 31.0L1286.2 30.7L1290.3 23.5L1293.7 27.8L1297.7 28.6L1301.5 25.8L1306.9 23.8L1310.8 29.2L1315.5 26.7L1321.0 23.8L1324.4 24.3L1329.6 25.1L1336.0 21.5L1339.4 22.3L1343.9 22.0L1348.2 22.4L1353.1 22.0L1357.4 15.3L1363.9 20.1L1368.0 19.7L1371.4 19.2L1377.1 18.7L1382.5 16.8L1388.4 10.4L1394.1 15.5L1399.7 9.9L1402.6 12.1L1405.5 12.3L1411.6 12.7L1417.7 13.9L1420.2 12.4L1425.1 13.6L1429.5 10.1L1433.4 10.2L1437.4 10.9L1440.0 10.9V80Z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 80' preserveAspectRatio='none'%3E%3Cpath d='M0 80V10.5L6.4 12.9L10.0 11.8L13.0 13.9L16.2 15.1L19.2 15.4L22.8 17.0L26.1 8.0L29.5 15.4L32.3 15.3L36.3 16.5L42.2 15.7L45.7 16.1L52.0 16.7L58.4 17.1L63.3 12.1L68.0 18.2L71.3 11.8L75.3 17.9L81.7 15.7L84.3 14.0L88.7 14.6L94.2 21.8L100.3 20.8L104.5 23.3L108.5 23.9L115.0 24.9L119.8 24.2L122.4 24.6L126.9 20.5L132.1 22.6L136.4 25.4L140.6 25.1L145.5 24.5L151.4 27.4L155.7 27.2L160.1 28.2L162.9 29.7L167.7 26.4L170.3 27.5L174.6 31.8L179.8 27.0L185.2 32.1L189.8 33.9L195.9 27.6L200.9 35.8L206.6 36.4L212.0 36.4L218.1 37.8L221.9 33.5L226.6 38.7L229.3 38.6L232.4 35.5L237.6 33.1L242.2 34.7L248.1 35.6L254.2 34.2L259.0 36.0L261.6 39.5L266.4 40.5L270.5 43.2L273.5 40.9L277.3 34.3L279.9 41.0L283.8 37.6L287.3 42.0L291.5 43.8L296.5 43.8L300.0 44.4L303.7 45.2L306.8 38.0L310.9 46.3L313.5 44.0L316.5 45.8L319.7 45.4L324.3 47.2L330.2 42.5L334.5 48.5L338.7 51.2L343.0 49.6L347.6 46.9L353.5 49.7L360.0 50.5L365.6 51.1L370.9 52.1L373.6 51.5L378.7 51.6L382.5 52.6L389.0 52.8L391.6 53.7L394.3 52.8L400.5 53.2L406.9 55.3L412.5 53.0L415.6 54.3L419.8 53.6L425.0 52.9L427.5 54.1L433.6 50.7L437.8 53.7L444.1 53.7L449.0 52.5L451.7 53.9L456.0 53.2L460.6 55.2L463.6 55.1L467.2 54.6L472.7 53.1L478.7 54.7L483.7 50.6L488.4 58.6L492.3 54.2L497.3 61.0L503.0 59.4L507.7 61.6L510.6 62.5L515.0 56.6L520.2 57.9L523.8 57.6L526.8 58.7L532.9 58.0L537.0 59.5L541.0 57.5L545.7 58.4L549.0 54.2L553.6 58.4L556.4 53.4L562.5 58.2L567.6 58.2L573.1 58.6L577.6 59.5L581.8 60.3L587.6 61.0L592.9 55.2L599.4 60.3L603.1 65.0L608.7 59.5L614.8 59.4L618.2 61.4L621.9 59.4L627.6 59.1L631.5 59.6L634.2 60.8L638.8 58.0L641.3 58.3L646.2 57.8L652.2 58.1L656.9 58.8L662.7 61.4L665.6 59.8L671.6 61.0L674.4 62.9L677.5 59.3L681.9 58.4L686.3 59.3L691.6 54.8L697.3 61.8L702.0 61.9L705.5 61.7L710.2 59.1L713.1 63.4L719.0 59.5L723.1 61.1L728.2 63.8L732.3 61.0L738.0 64.0L741.9 63.4L747.5 64.2L753.6 56.9L760.1 62.1L766.4 63.5L771.2 62.5L775.5 61.8L780.2 63.0L786.7 63.9L790.3 63.5L793.5 63.1L800.0 63.8L805.4 57.5L809.8 60.7L814.4 61.3L817.0 61.7L821.4 61.2L826.9 61.1L831.1 60.7L835.7 55.5L841.8 61.6L846.6 59.8L850.7 59.5L854.5 61.2L860.8 61.3L864.2 54.7L867.2 61.3L870.9 59.3L875.0 53.8L878.7 59.4L882.0 58.7L887.9 59.7L894.4 58.9L897.1 58.4L903.1 59.5L907.3 57.9L910.6 57.6L914.6 59.0L918.3 60.2L921.2 59.9L923.9 58.9L926.7 57.7L931.4 51.1L936.9 56.9L941.6 57.2L946.2 56.2L952.5 55.2L955.9 54.7L959.4 54.8L962.0 54.8L965.2 56.2L968.8 54.4L973.5 55.1L976.1 53.1L981.0 53.4L984.1 50.4L988.1 54.6L993.6 56.1L996.3 53.9L1000.0 54.4L1005.5 54.7L1009.0 53.5L1015.4 51.6L1020.7 53.3L1024.8 53.1L1028.7 51.6L1032.0 51.9L1037.2 47.1L1041.2 53.3L1047.4 45.0L1051.3 46.6L1055.4 49.3L1059.9 45.4L1064.8 48.3L1067.9 49.9L1071.0 48.1L1075.0 50.5L1078.4 50.5L1084.8 47.1L1090.0 47.9L1095.1 41.8L1098.9 47.7L1103.3 41.9L1107.5 45.2L1112.8 40.2L1115.5 46.0L1119.0 43.6L1122.5 46.0L1128.9 43.9L1133.9 45.1L1139.7 40.5L1144.2 37.4L1147.6 43.1L1151.7 40.3L1156.7 40.4L1160.6 41.4L1165.8 41.8L1170.3 39.8L1174.9 38.2L1179.5 31.8L1182.4 37.8L1188.4 41.0L1192.5 37.3L1196.3 37.0L1200.5 36.5L1203.5 36.1L1206.1 29.8L1210.2 35.4L1212.9 36.7L1218.3 31.6L1222.8 33.7L1226.4 33.4L1230.5 30.0L1233.4 30.2L1236.0 32.6L1239.4 29.0L1245.5 30.6L1251.9 28.7L1257.7 31.3L1261.3 29.0L1267.1 29.7L1270.1 26.8L1274.7 21.8L1280.4 31.0L1286.2 30.7L1290.3 23.5L1293.7 27.8L1297.7 28.6L1301.5 25.8L1306.9 23.8L1310.8 29.2L1315.5 26.7L1321.0 23.8L1324.4 24.3L1329.6 25.1L1336.0 21.5L1339.4 22.3L1343.9 22.0L1348.2 22.4L1353.1 22.0L1357.4 15.3L1363.9 20.1L1368.0 19.7L1371.4 19.2L1377.1 18.7L1382.5 16.8L1388.4 10.4L1394.1 15.5L1399.7 9.9L1402.6 12.1L1405.5 12.3L1411.6 12.7L1417.7 13.9L1420.2 12.4L1425.1 13.6L1429.5 10.1L1433.4 10.2L1437.4 10.9L1440.0 10.9V80Z'/%3E%3C/svg%3E"); }
.ra-torn--arc::after { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 80' preserveAspectRatio='none'%3E%3Cpath d='M0 80V14.6L6.4 16.7L10.0 16.1L13.0 17.1L16.2 18.5L19.2 19.2L22.8 20.7L26.1 19.4L29.5 19.4L32.3 19.2L36.3 20.8L42.2 20.4L45.7 20.5L52.0 22.6L58.4 20.5L63.3 20.7L68.0 22.7L71.3 20.2L75.3 22.5L81.7 23.6L84.3 24.8L88.7 24.9L94.2 26.2L100.3 25.4L104.5 27.3L108.5 27.1L115.0 28.7L119.8 27.7L122.4 28.4L126.9 28.7L132.1 27.8L136.4 30.3L140.6 30.4L145.5 29.4L151.4 31.6L155.7 31.1L160.1 32.3L162.9 32.0L167.7 34.0L170.3 36.3L174.6 36.5L179.8 35.8L185.2 36.3L189.8 38.1L195.9 36.9L200.9 39.9L206.6 40.5L212.0 40.6L218.1 41.7L221.9 41.6L226.6 41.2L229.3 41.3L232.4 39.2L237.6 41.6L242.2 39.5L248.1 40.5L254.2 39.9L259.0 40.7L261.6 43.7L266.4 43.4L270.5 46.0L273.5 45.1L277.3 45.3L279.9 45.9L283.8 48.0L287.3 47.2L291.5 48.6L296.5 49.1L300.0 50.1L303.7 51.1L306.8 49.2L310.9 51.3L313.5 49.7L316.5 50.9L319.7 49.9L324.3 51.9L330.2 53.7L334.5 53.2L338.7 56.3L343.0 53.5L347.6 51.4L353.5 53.7L360.0 54.7L365.6 55.2L370.9 55.5L373.6 54.4L378.7 55.7L382.5 56.2L389.0 56.7L391.6 56.8L394.3 55.7L400.5 57.2L406.9 57.7L412.5 55.8L415.6 57.2L419.8 57.3L425.0 57.5L427.5 58.9L433.6 62.5L437.8 58.0L444.1 59.1L449.0 57.3L451.7 58.8L456.0 58.1L460.6 60.7L463.6 60.5L467.2 60.0L472.7 58.8L478.7 59.1L483.7 60.0L488.4 62.3L492.3 63.2L497.3 63.9L503.0 63.1L507.7 64.4L510.6 64.8L515.0 64.1L520.2 62.0L523.8 62.0L526.8 63.6L532.9 62.5L537.0 64.1L541.0 62.3L545.7 63.9L549.0 63.9L553.6 63.5L556.4 63.5L562.5 62.3L567.6 63.0L573.1 63.6L577.6 64.2L581.8 65.2L587.6 65.5L592.9 65.3L599.4 64.1L603.1 68.6L608.7 63.6L614.8 63.1L618.2 65.3L621.9 63.4L627.6 64.2L631.5 64.3L634.2 65.5L638.8 63.2L641.3 63.8L646.2 62.7L652.2 63.9L656.9 62.9L662.7 65.5L665.6 64.6L671.6 64.5L674.4 66.4L677.5 66.6L681.9 66.3L686.3 67.1L691.6 64.8L697.3 64.7L702.0 64.9L705.5 64.6L710.2 66.2L713.1 66.1L719.0 65.8L723.1 64.2L728.2 66.6L732.3 64.4L738.0 66.9L741.9 67.1L747.5 68.0L753.6 67.3L760.1 67.1L766.4 67.2L771.2 67.1L775.5 64.9L780.2 66.0L786.7 66.5L790.3 66.6L793.5 65.4L800.0 66.6L805.4 64.9L809.8 64.1L814.4 64.5L817.0 65.8L821.4 64.9L826.9 65.1L831.1 64.8L835.7 64.6L841.8 65.3L846.6 62.9L850.7 62.7L854.5 63.6L860.8 64.1L864.2 64.3L867.2 63.5L870.9 62.8L875.0 62.8L878.7 63.3L882.0 62.6L887.9 62.7L894.4 62.1L897.1 61.8L903.1 63.5L907.3 61.2L910.6 61.3L914.6 62.5L918.3 63.0L921.2 63.0L923.9 61.5L926.7 60.3L931.4 59.7L936.9 60.0L941.6 60.5L946.2 59.8L952.5 58.2L955.9 58.7L959.4 58.6L962.0 58.7L965.2 60.0L968.8 58.9L973.5 58.6L976.1 57.0L981.0 56.4L984.1 58.5L988.1 57.2L993.6 60.1L996.3 57.9L1000.0 58.6L1005.5 59.6L1009.0 58.6L1015.4 61.4L1020.7 59.1L1024.8 58.8L1028.7 56.4L1032.0 57.1L1037.2 58.0L1041.2 58.2L1047.4 56.9L1051.3 56.7L1055.4 54.1L1059.9 53.6L1064.8 53.0L1067.9 54.9L1071.0 53.0L1075.0 54.8L1078.4 55.1L1084.8 52.2L1090.0 52.9L1095.1 50.5L1098.9 51.4L1103.3 49.9L1107.5 49.5L1112.8 48.6L1115.5 49.9L1119.0 48.0L1122.5 49.7L1128.9 47.9L1133.9 47.9L1139.7 47.9L1144.2 45.4L1147.6 46.2L1151.7 44.3L1156.7 44.9L1160.6 45.6L1165.8 45.3L1170.3 43.5L1174.9 42.0L1179.5 41.2L1182.4 41.9L1188.4 45.2L1192.5 41.8L1196.3 41.6L1200.5 41.1L1203.5 39.8L1206.1 40.2L1210.2 40.0L1212.9 40.1L1218.3 40.4L1222.8 38.0L1226.4 37.7L1230.5 38.2L1233.4 38.5L1236.0 37.0L1239.4 36.2L1245.5 34.8L1251.9 33.5L1257.7 36.5L1261.3 34.7L1267.1 33.6L1270.1 31.5L1274.7 31.3L1280.4 33.8L1286.2 33.7L1290.3 33.4L1293.7 32.1L1297.7 32.5L1301.5 30.2L1306.9 30.7L1310.8 32.6L1315.5 30.4L1321.0 26.7L1324.4 27.1L1329.6 28.0L1336.0 24.7L1339.4 25.9L1343.9 25.5L1348.2 25.6L1353.1 25.1L1357.4 24.9L1363.9 24.9L1368.0 24.9L1371.4 24.4L1377.1 22.3L1382.5 20.5L1388.4 19.1L1394.1 18.9L1399.7 18.1L1402.6 16.1L1405.5 16.2L1411.6 15.4L1417.7 17.3L1420.2 16.1L1425.1 17.2L1429.5 15.3L1433.4 15.3L1437.4 15.5L1440.0 15.5V80Z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 80' preserveAspectRatio='none'%3E%3Cpath d='M0 80V14.6L6.4 16.7L10.0 16.1L13.0 17.1L16.2 18.5L19.2 19.2L22.8 20.7L26.1 19.4L29.5 19.4L32.3 19.2L36.3 20.8L42.2 20.4L45.7 20.5L52.0 22.6L58.4 20.5L63.3 20.7L68.0 22.7L71.3 20.2L75.3 22.5L81.7 23.6L84.3 24.8L88.7 24.9L94.2 26.2L100.3 25.4L104.5 27.3L108.5 27.1L115.0 28.7L119.8 27.7L122.4 28.4L126.9 28.7L132.1 27.8L136.4 30.3L140.6 30.4L145.5 29.4L151.4 31.6L155.7 31.1L160.1 32.3L162.9 32.0L167.7 34.0L170.3 36.3L174.6 36.5L179.8 35.8L185.2 36.3L189.8 38.1L195.9 36.9L200.9 39.9L206.6 40.5L212.0 40.6L218.1 41.7L221.9 41.6L226.6 41.2L229.3 41.3L232.4 39.2L237.6 41.6L242.2 39.5L248.1 40.5L254.2 39.9L259.0 40.7L261.6 43.7L266.4 43.4L270.5 46.0L273.5 45.1L277.3 45.3L279.9 45.9L283.8 48.0L287.3 47.2L291.5 48.6L296.5 49.1L300.0 50.1L303.7 51.1L306.8 49.2L310.9 51.3L313.5 49.7L316.5 50.9L319.7 49.9L324.3 51.9L330.2 53.7L334.5 53.2L338.7 56.3L343.0 53.5L347.6 51.4L353.5 53.7L360.0 54.7L365.6 55.2L370.9 55.5L373.6 54.4L378.7 55.7L382.5 56.2L389.0 56.7L391.6 56.8L394.3 55.7L400.5 57.2L406.9 57.7L412.5 55.8L415.6 57.2L419.8 57.3L425.0 57.5L427.5 58.9L433.6 62.5L437.8 58.0L444.1 59.1L449.0 57.3L451.7 58.8L456.0 58.1L460.6 60.7L463.6 60.5L467.2 60.0L472.7 58.8L478.7 59.1L483.7 60.0L488.4 62.3L492.3 63.2L497.3 63.9L503.0 63.1L507.7 64.4L510.6 64.8L515.0 64.1L520.2 62.0L523.8 62.0L526.8 63.6L532.9 62.5L537.0 64.1L541.0 62.3L545.7 63.9L549.0 63.9L553.6 63.5L556.4 63.5L562.5 62.3L567.6 63.0L573.1 63.6L577.6 64.2L581.8 65.2L587.6 65.5L592.9 65.3L599.4 64.1L603.1 68.6L608.7 63.6L614.8 63.1L618.2 65.3L621.9 63.4L627.6 64.2L631.5 64.3L634.2 65.5L638.8 63.2L641.3 63.8L646.2 62.7L652.2 63.9L656.9 62.9L662.7 65.5L665.6 64.6L671.6 64.5L674.4 66.4L677.5 66.6L681.9 66.3L686.3 67.1L691.6 64.8L697.3 64.7L702.0 64.9L705.5 64.6L710.2 66.2L713.1 66.1L719.0 65.8L723.1 64.2L728.2 66.6L732.3 64.4L738.0 66.9L741.9 67.1L747.5 68.0L753.6 67.3L760.1 67.1L766.4 67.2L771.2 67.1L775.5 64.9L780.2 66.0L786.7 66.5L790.3 66.6L793.5 65.4L800.0 66.6L805.4 64.9L809.8 64.1L814.4 64.5L817.0 65.8L821.4 64.9L826.9 65.1L831.1 64.8L835.7 64.6L841.8 65.3L846.6 62.9L850.7 62.7L854.5 63.6L860.8 64.1L864.2 64.3L867.2 63.5L870.9 62.8L875.0 62.8L878.7 63.3L882.0 62.6L887.9 62.7L894.4 62.1L897.1 61.8L903.1 63.5L907.3 61.2L910.6 61.3L914.6 62.5L918.3 63.0L921.2 63.0L923.9 61.5L926.7 60.3L931.4 59.7L936.9 60.0L941.6 60.5L946.2 59.8L952.5 58.2L955.9 58.7L959.4 58.6L962.0 58.7L965.2 60.0L968.8 58.9L973.5 58.6L976.1 57.0L981.0 56.4L984.1 58.5L988.1 57.2L993.6 60.1L996.3 57.9L1000.0 58.6L1005.5 59.6L1009.0 58.6L1015.4 61.4L1020.7 59.1L1024.8 58.8L1028.7 56.4L1032.0 57.1L1037.2 58.0L1041.2 58.2L1047.4 56.9L1051.3 56.7L1055.4 54.1L1059.9 53.6L1064.8 53.0L1067.9 54.9L1071.0 53.0L1075.0 54.8L1078.4 55.1L1084.8 52.2L1090.0 52.9L1095.1 50.5L1098.9 51.4L1103.3 49.9L1107.5 49.5L1112.8 48.6L1115.5 49.9L1119.0 48.0L1122.5 49.7L1128.9 47.9L1133.9 47.9L1139.7 47.9L1144.2 45.4L1147.6 46.2L1151.7 44.3L1156.7 44.9L1160.6 45.6L1165.8 45.3L1170.3 43.5L1174.9 42.0L1179.5 41.2L1182.4 41.9L1188.4 45.2L1192.5 41.8L1196.3 41.6L1200.5 41.1L1203.5 39.8L1206.1 40.2L1210.2 40.0L1212.9 40.1L1218.3 40.4L1222.8 38.0L1226.4 37.7L1230.5 38.2L1233.4 38.5L1236.0 37.0L1239.4 36.2L1245.5 34.8L1251.9 33.5L1257.7 36.5L1261.3 34.7L1267.1 33.6L1270.1 31.5L1274.7 31.3L1280.4 33.8L1286.2 33.7L1290.3 33.4L1293.7 32.1L1297.7 32.5L1301.5 30.2L1306.9 30.7L1310.8 32.6L1315.5 30.4L1321.0 26.7L1324.4 27.1L1329.6 28.0L1336.0 24.7L1339.4 25.9L1343.9 25.5L1348.2 25.6L1353.1 25.1L1357.4 24.9L1363.9 24.9L1368.0 24.9L1371.4 24.4L1377.1 22.3L1382.5 20.5L1388.4 19.1L1394.1 18.9L1399.7 18.1L1402.6 16.1L1405.5 16.2L1411.6 15.4L1417.7 17.3L1420.2 16.1L1425.1 17.2L1429.5 15.3L1433.4 15.3L1437.4 15.5L1440.0 15.5V80Z'/%3E%3C/svg%3E"); }
@media (min-width: 768px) { .ra-torn--arc { height: var(--torn-arc-h-desktop); } }

/* ---------- cards: shared ---------- */
.ra-card { background: var(--paper); border-radius: var(--radius-md); box-shadow: var(--shadow-card); overflow: hidden; }
.ra-badge { display: inline-flex; align-items: center; gap: var(--space-1); padding: var(--space-1) var(--space-3); border-radius: var(--radius-pill); background: var(--paper); color: var(--ink); font: 600 14px/20px var(--font-body); }

/* ---------- cabin card ---------- */
.ra-cabin { display: flex; flex-direction: column; max-width: 400px; }
.ra-cabin__media { position: relative; aspect-ratio: 4 / 3; background: var(--cream-200); }
.ra-cabin__media img { width: 100%; height: 100%; object-fit: cover; }
.ra-cabin__media .ra-badge { position: absolute; top: var(--space-3); left: var(--space-3); box-shadow: var(--shadow-card); }
.ra-cabin__body { display: flex; flex-direction: column; gap: var(--space-3); padding: var(--space-4); }
.ra-cabin__name { font: 600 22px/28px var(--font-body); margin: 0; }
.ra-cabin__meta { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-4); margin: 0; padding: 0; list-style: none; color: var(--ink-muted); font-size: 14px; line-height: 20px; }
.ra-cabin__meta li { display: inline-flex; align-items: center; gap: var(--space-1); }
.ra-cabin__price { margin: 0; color: var(--ink); font-size: 14px; line-height: 20px; }
.ra-cabin__price strong { font: 700 20px/28px var(--font-body); }
@media (min-width: 768px) { .ra-cabin__body { padding: var(--space-6); } }
/* polaroid cabin card: white frame, thicker bottom, slight tilt that straightens on hover / focus */
.ra-cabin--polaroid { padding: var(--space-3) var(--space-3) var(--space-4); border-radius: var(--radius-sm); box-shadow: var(--shadow-photo); overflow: visible; transform: rotate(var(--tilt-a)); transition: transform .2s ease; }
.ra-cabin--polaroid.ra-cabin--b { transform: rotate(var(--tilt-b)); }
.ra-cabin--polaroid.ra-cabin--c { transform: rotate(var(--tilt-c)); }
.ra-cabin--polaroid:hover, .ra-cabin--polaroid:focus-within { transform: rotate(0deg); }
.ra-cabin--polaroid .ra-cabin__media { aspect-ratio: 5 / 4; border-radius: var(--radius-sm); overflow: hidden; }
.ra-cabin--polaroid .ra-cabin__body { padding: var(--space-4) var(--space-1) 0; }
@media (min-width: 768px) { .ra-cabin--polaroid { padding: var(--space-4) var(--space-4) var(--space-6); } .ra-cabin--polaroid .ra-cabin__body { padding: var(--space-6) var(--space-2) 0; } }
@media (prefers-reduced-motion: reduce) { .ra-cabin--polaroid { transition: none; } }

/* ---------- search bar ---------- */
.ra-search { display: grid; gap: var(--space-2); padding: var(--space-3); background: var(--paper); border-radius: var(--radius-md); box-shadow: var(--shadow-card); max-width: 960px; }
.ra-search__field { display: flex; align-items: center; gap: var(--space-3); min-height: 56px; padding: var(--space-2) var(--space-4); border: 1px solid var(--line-strong); border-radius: var(--radius-sm); background: var(--paper); color: var(--ink); text-align: left; font: inherit; cursor: pointer; width: 100%; }
.ra-search__label { display: block; font: 600 14px/20px var(--font-body); }
.ra-search__value { display: block; color: var(--ink-muted); }
.ra-search__gl { display: inline-flex; align-items: center; gap: var(--space-3); }
.ra-search__guests { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); min-height: 56px; padding: var(--space-1) var(--space-1) var(--space-1) var(--space-4); border: 1px solid var(--line-strong); border-radius: var(--radius-sm); }
.ra-stepper { display: inline-flex; align-items: center; gap: var(--space-1); }
.ra-stepper button { display: inline-flex; align-items: center; justify-content: center; width: var(--tap-min); height: var(--tap-min); border: 1px solid var(--line-strong); border-radius: var(--radius-pill); background: var(--paper); color: var(--ink); cursor: pointer; }
.ra-stepper button:disabled { color: var(--ink-muted); border-color: var(--line); cursor: not-allowed; }
.ra-stepper output { min-width: 2ch; text-align: center; font-weight: 600; }
@media (min-width: 768px) {
  .ra-search { grid-template-columns: 1fr 1fr 1.2fr auto; align-items: center; border-radius: var(--radius-pill); padding: var(--space-2) var(--space-2) var(--space-2) var(--space-6); gap: 0; }
  .ra-search__field, .ra-search__guests { border: 0; border-right: 1px solid var(--line); border-radius: 0; }
  .ra-search__guests { padding-right: var(--space-4); margin-right: var(--space-2); }
}

/* ---------- availability calendar ---------- */
.ra-cal { max-width: 400px; padding: var(--space-4); background: var(--paper); border-radius: var(--radius-md); box-shadow: var(--shadow-card); }
.ra-cal__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: var(--space-2); }
.ra-cal__title { font: 600 18px/28px var(--font-body); margin: 0; }
.ra-cal__nav { display: inline-flex; align-items: center; justify-content: center; width: var(--tap-min); height: var(--tap-min); border: 1px solid var(--line-strong); border-radius: var(--radius-pill); background: var(--paper); color: var(--ink); cursor: pointer; }
.ra-cal table { width: 100%; border-collapse: separate; border-spacing: 0 var(--space-1); table-layout: fixed; }
.ra-cal th { font: 600 14px/20px var(--font-body); color: var(--ink-muted); padding: var(--space-1) 0; }
.ra-cal abbr { text-decoration: none; }
.ra-cal td { padding: 0; text-align: center; }
.ra-day { position: relative; display: inline-flex; flex-direction: column; align-items: center; justify-content: center; width: 100%; min-height: var(--tap-min); border: 0; border-radius: var(--radius-pill); background: transparent; color: var(--ink); font: 400 16px/20px var(--font-body); cursor: pointer; }
.ra-day:hover { background: var(--cream-200); }
.ra-day--booked, .ra-day--booked:hover { background: var(--cream-200); color: var(--ink-muted); text-decoration: line-through; cursor: not-allowed; }
.ra-day--today { box-shadow: inset 0 0 0 2px var(--forest-900); font-weight: 700; }
.ra-day--holiday { background: var(--holiday-bg); }
.ra-day--holiday::after { content: ""; position: absolute; bottom: 6px; width: 6px; height: 6px; border-radius: var(--radius-pill); background: var(--holiday-mark); }
.ra-day--in-range, .ra-day--in-range:hover { background: var(--purple-100); border-radius: 0; }
.ra-day--start, .ra-day--end, .ra-day--start:hover, .ra-day--end:hover { background: var(--purple); color: var(--on-accent); font-weight: 700; }
.ra-day--start { border-radius: var(--radius-pill) 0 0 var(--radius-pill); }
.ra-day--end { border-radius: 0 var(--radius-pill) var(--radius-pill) 0; }
.ra-cal__legend { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-2) var(--space-4); margin: var(--space-3) 0 0; padding: var(--space-3) 0 0; border-top: 1px solid var(--line); list-style: none; font-size: 14px; line-height: 20px; color: var(--ink); }
.ra-cal__legend li { display: flex; align-items: center; gap: var(--space-2); }
.ra-swatch { flex: none; width: 20px; height: 20px; border-radius: var(--radius-sm); border: 1px solid var(--line-strong); background: var(--paper); }
.ra-swatch--booked { background: var(--cream-200); }
.ra-swatch--selected { background: var(--purple); border-color: var(--purple); }
.ra-swatch--range { background: var(--purple-100); }
.ra-swatch--holiday { background: var(--holiday-bg); position: relative; }
.ra-swatch--holiday::after { content: ""; position: absolute; left: 6px; top: 6px; width: 6px; height: 6px; border-radius: var(--radius-pill); background: var(--holiday-mark); }
.ra-swatch--today { box-shadow: inset 0 0 0 2px var(--forest-900); border-color: var(--forest-900); }

/* ---------- price breakdown ---------- */
.ra-price { max-width: 400px; padding: var(--space-4); background: var(--paper); border-radius: var(--radius-md); box-shadow: var(--shadow-card); }
.ra-price h3 { font: 600 22px/28px var(--font-body); margin: 0 0 var(--space-3); }
.ra-price dl { margin: 0; }
.ra-price__row { display: flex; justify-content: space-between; align-items: baseline; gap: var(--space-4); padding: var(--space-2) 0; }
.ra-price__row dt { color: var(--ink); }
.ra-price__row dd { margin: 0; font-weight: 600; white-space: nowrap; }
.ra-price__row--total { border-top: 1px solid var(--line-strong); margin-top: var(--space-2); padding-top: var(--space-3); }
.ra-price__row--total dt { font-weight: 700; font-size: 18px; }
.ra-price__row--total dd { font: 700 24px/32px var(--font-body); }
.ra-price__row--deposit { background: var(--purple-100); border-radius: var(--radius-sm); padding: var(--space-3); margin: var(--space-2) calc(-1 * var(--space-3)) 0; }
.ra-price__row--deposit dt, .ra-price__row--deposit dd { font-weight: 700; }
.ra-price__note { margin: var(--space-3) 0 0; font-size: 14px; line-height: 20px; color: var(--ink-muted); }

/* ---------- form fields ---------- */
.ra-field { display: flex; flex-direction: column; gap: var(--space-1); max-width: 480px; }
.ra-field label { font: 600 14px/20px var(--font-body); color: var(--ink); }
.ra-field__optional { font-weight: 400; color: var(--ink-muted); }
.ra-input { width: 100%; min-height: 48px; padding: var(--space-3) var(--space-4); border: 1px solid var(--line-strong); border-radius: var(--radius-sm); background: var(--paper); color: var(--ink); font: 400 16px/24px var(--font-body); }
.ra-input::placeholder { color: var(--ink-muted); }
textarea.ra-input { min-height: 112px; resize: vertical; }
.ra-input:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; border-color: var(--purple); }
.ra-field__help { margin: 0; font-size: 14px; line-height: 20px; color: var(--ink-muted); }
.ra-field--error .ra-input { border: 2px solid var(--danger-ink); }
.ra-field__error { display: flex; align-items: flex-start; gap: var(--space-1); margin: 0; font: 600 14px/20px var(--font-body); color: var(--danger-ink); }

/* ---------- payment choice ---------- */
.ra-pay { border: 0; margin: 0; padding: 0; display: grid; gap: var(--space-3); max-width: 480px; }
.ra-pay legend { font: 600 22px/28px var(--font-body); padding: 0; margin-bottom: var(--space-3); }
.ra-pay__option { position: relative; display: flex; align-items: flex-start; gap: var(--space-3); min-height: 64px; padding: var(--space-4); border: 1px solid var(--line-strong); border-radius: var(--radius-md); background: var(--paper); cursor: pointer; }
.ra-pay__option input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.ra-pay__radio { flex: none; width: 22px; height: 22px; margin-top: 1px; border: 2px solid var(--line-strong); border-radius: var(--radius-pill); background: var(--paper); }
.ra-pay__text { display: flex; flex-direction: column; flex: 1; }
.ra-pay__title { font-weight: 600; }
.ra-pay__desc { font-size: 14px; line-height: 20px; color: var(--ink-muted); }
.ra-pay__option:has(input:checked) { border: 2px solid var(--purple); background: var(--purple-100); padding: calc(var(--space-4) - 1px); }
.ra-pay__option:has(input:checked) .ra-pay__radio { border-color: var(--purple); box-shadow: inset 0 0 0 4px var(--paper); background: var(--purple); }
.ra-pay__option:has(input:checked) .ra-pay__desc { color: var(--ink); }
.ra-pay__option:has(input:focus-visible) { outline: 3px solid var(--focus); outline-offset: 2px; }

/* ---------- status banners ---------- */
.ra-banner { display: flex; gap: var(--space-3); padding: var(--space-4); border-radius: var(--radius-md); color: var(--ink); max-width: 640px; }
.ra-banner__title { margin: 0; font: 600 18px/24px var(--font-body); }
.ra-banner__body { margin: var(--space-1) 0 0; }
.ra-banner--confirmed { background: var(--success-bg); }
.ra-banner--confirmed .ra-banner__title, .ra-banner--confirmed .ra-icon { color: var(--success-ink); }
.ra-banner--awaiting { background: var(--warning-bg); }
.ra-banner--awaiting .ra-banner__title, .ra-banner--awaiting .ra-icon { color: var(--warning-ink); }
.ra-banner--cancelled { background: var(--neutral-bg); }
.ra-banner--cancelled .ra-banner__title, .ra-banner--cancelled .ra-icon { color: var(--neutral-ink); }
.ra-banner--error { background: var(--danger-bg); }
.ra-banner--error .ra-banner__title, .ra-banner--error .ra-icon { color: var(--danger-ink); }
.ra-countdown { display: block; margin-top: var(--space-2); font: 700 24px/32px var(--font-body); color: var(--warning-ink); }
.ra-banner dl { display: grid; grid-template-columns: auto 1fr; gap: var(--space-1) var(--space-3); margin: var(--space-3) 0 0; font-size: 14px; line-height: 20px; }
.ra-banner dt { font-weight: 600; }
.ra-banner dd { margin: 0; }

/* ---------- tilted photo card + review card ---------- */
.ra-tilt { margin: 0; padding: var(--space-3) var(--space-3) var(--space-4); background: var(--paper); border-radius: var(--radius-sm); box-shadow: var(--shadow-photo); transform: rotate(var(--tilt-a)); transition: transform .2s ease; max-width: 320px; }
.ra-tilt--b { transform: rotate(var(--tilt-b)); }
.ra-tilt--c { transform: rotate(var(--tilt-c)); }
.ra-tilt:hover, .ra-tilt:focus-within { transform: rotate(0deg); }
.ra-tilt img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--radius-sm); }
.ra-tilt figcaption { margin-top: var(--space-3); font-size: 14px; line-height: 20px; color: var(--ink-muted); }
.ra-tilt-row { display: flex; flex-wrap: wrap; gap: var(--space-8) var(--space-6); justify-content: center; align-items: flex-start; padding: var(--space-6) var(--space-4); }
.ra-review { display: flex; flex-direction: column; gap: var(--space-3); padding: var(--space-6); }
.ra-review .ra-icon { color: var(--purple); }
.ra-review blockquote { margin: 0; font-size: 18px; line-height: 28px; }
.ra-review__who { display: flex; align-items: center; gap: var(--space-3); }
.ra-review__avatar { flex: none; width: 44px; height: 44px; border-radius: var(--radius-pill); background: var(--cream-200); border: 1px solid var(--line-strong); }
.ra-review .ra-review__who { margin-top: 0; }
.ra-review__name { display: block; font-size: 16px; line-height: 24px; font-weight: 600; color: var(--ink); }
.ra-review__meta { display: block; font-size: 14px; line-height: 20px; color: var(--ink-muted); }
@media (prefers-reduced-motion: reduce) { .ra-tilt { transition: none; } .ra-spin { animation: none; } }

/* ---------- amenity list ---------- */
.ra-amenities { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-4) var(--space-3); margin: 0; padding: 0; list-style: none; max-width: 960px; }
.ra-amenities li { display: flex; align-items: center; gap: var(--space-3); min-height: var(--tap-min); }
.ra-amenities .ra-icon { color: var(--forest-900); }
@media (min-width: 768px) { .ra-amenities { grid-template-columns: repeat(4, 1fr); gap: var(--space-6); } }

/* ---------- approximate-location map card ---------- */
.ra-map { max-width: 480px; }
.ra-map__area { position: relative; aspect-ratio: 16 / 10; background: var(--cream-200); }
.ra-map__area svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.ra-map__contour { fill: none; stroke: var(--line-strong); stroke-width: 1; }
.ra-map__zone { fill: var(--purple-100); stroke: var(--purple); stroke-width: 2; stroke-dasharray: 6 5; }
.ra-map__area .ra-sample { position: absolute; left: var(--space-3); bottom: var(--space-3); }
.ra-map__body { display: flex; flex-direction: column; gap: var(--space-2); padding: var(--space-4); }
.ra-map__title { display: flex; align-items: center; gap: var(--space-2); margin: 0; font: 600 22px/28px var(--font-body); }
.ra-map__note { margin: 0; color: var(--ink-muted); font-size: 14px; line-height: 20px; }

/* ---------- floating WhatsApp button ---------- */
.ra-wa { position: fixed; right: var(--space-4); bottom: var(--space-4); z-index: 50; display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; border-radius: var(--radius-pill); background: var(--purple); color: var(--on-accent); border: 2px solid var(--cream-50); box-shadow: var(--shadow-float); text-decoration: none; }
.ra-wa:hover { background: var(--accent-hover); box-shadow: var(--shadow-float), var(--shadow-glow); }
.ra-wa .ra-icon { width: 28px; height: 28px; }
.ra-wa--static { position: static; }
@media (min-width: 768px) { .ra-wa { right: var(--space-6); bottom: var(--space-6); } }

/* ---------- premium hover: every card lifts and glows (hover + keyboard focus) ---------- */
.ra-card, .ra-tilt, .ra-glass { transition: transform .25s ease, box-shadow .25s ease; }
.ra-glass { box-shadow: var(--shadow-photo); }
.ra-card:hover, .ra-card:focus-within { box-shadow: var(--shadow-lift); transform: translateY(-4px); }
.ra-tilt:hover, .ra-tilt:focus-within { box-shadow: var(--shadow-lift); transform: rotate(0deg) translateY(-4px); }
.ra-cabin--polaroid:hover, .ra-cabin--polaroid:focus-within { transform: rotate(0deg) translateY(-4px); }
.ra-on-forest .ra-card:hover, .ra-on-forest .ra-card:focus-within, .ra-on-forest .ra-tilt:hover, .ra-on-forest .ra-tilt:focus-within { box-shadow: var(--shadow-lift-forest); }
@media (prefers-reduced-motion: reduce) {
  .ra-card, .ra-tilt, .ra-glass { transition: none; }
  .ra-card:hover, .ra-card:focus-within { transform: none; }
  .ra-tilt:hover, .ra-tilt:focus-within, .ra-cabin--polaroid:hover, .ra-cabin--polaroid:focus-within { transform: rotate(0deg); }
}

/* ---------- feature card: illustrated reason / benefit ---------- */
.ra-features { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-6); margin: 0; padding: 0; list-style: none; }
.ra-feature { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-2); padding: var(--space-6); }
.ra-feature__art { width: 112px; height: 112px; margin: 0 0 var(--space-2) -8px; transition: transform .3s ease; }
@media (max-width: 767px) {
  .ra-feature { display: grid; grid-template-columns: 80px minmax(0, 1fr); column-gap: var(--space-4); row-gap: var(--space-1); align-items: start; padding: var(--space-4); }
  .ra-feature__art { grid-row: span 3; width: 80px; height: 80px; margin: 0; }
}
.ra-feature:hover .ra-feature__art { transform: translateY(-3px) rotate(-3deg); }
.ra-feature__num { font-family: var(--font-display); font-style: italic; font-size: 20px; line-height: 24px; font-variation-settings: "SOFT" 100, "WONK" 1, "opsz" 144; color: var(--purple); }
.ra-feature h3 { margin: 0; font: 600 20px/26px var(--font-body); color: var(--ink); }
.ra-feature p { margin: 0; color: var(--ink-muted); }
.ra-art-bg { fill: var(--cream-200); }
.ra-art-hill { fill: none; stroke: var(--line-strong); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.ra-art-line { fill: none; stroke: var(--ink); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.ra-art-paper.ra-art-line, .ra-art-paper { fill: var(--paper); }
.ra-art-soft.ra-art-line, .ra-art-soft { fill: var(--purple-100); }
.ra-art-accent { fill: var(--purple); }
.ra-art-dot { fill: var(--ink); }
.ra-art-on-accent { fill: none; stroke: var(--on-accent); stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }
@media (min-width: 768px) { .ra-features { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1200px) { .ra-features { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (prefers-reduced-motion: reduce) { .ra-feature__art { transition: none; } .ra-feature:hover .ra-feature__art { transform: none; } }

/* ---------- promo banner: one invitation with a clear CTA ---------- */
.ra-promo { display: grid; grid-template-columns: minmax(0, 1fr); justify-items: start; gap: var(--space-4); padding: var(--space-6); border-radius: var(--radius-lg); }
.ra-promo__art { width: 96px; height: 96px; transition: transform .3s ease; }
.ra-promo:hover .ra-promo__art { transform: translateY(-3px) rotate(-3deg); }
.ra-promo__text { display: flex; flex-direction: column; gap: var(--space-2); }
.ra-promo .ra-eyebrow { color: var(--purple); }
.ra-promo__title { font-size: 30px; line-height: 34px; }
.ra-promo__lead { margin: 0; font-size: 18px; line-height: 28px; color: var(--ink-muted); }
.ra-promo__cta { min-height: 52px; padding: 0 var(--space-6); font-size: 17px; }
.ra-promo__cta .ra-icon { transition: transform .2s ease; }
.ra-promo__cta:hover .ra-icon, .ra-promo__cta:focus-visible .ra-icon { transform: translateX(3px); }
@media (min-width: 768px) {
  .ra-promo { grid-template-columns: 128px minmax(0, 1fr) auto; align-items: center; gap: var(--space-8); padding: var(--space-8) var(--space-12); }
  .ra-promo__art { width: 128px; height: 128px; }
  .ra-promo__title { font-size: 40px; line-height: 44px; }
}
@media (prefers-reduced-motion: reduce) { .ra-promo__art, .ra-promo__cta .ra-icon { transition: none; } .ra-promo:hover .ra-promo__art, .ra-promo__cta:hover .ra-icon { transform: none; } }

/* ---------- motion: entrance animations (opacity + translate only: compositor-friendly, no layout shift) ---------- */
/* .ra-enter: plays once on page load (hero text, search bar). Set the order with style="--ra-i: N" (90ms steps).
   Never put it on the hero photo, so the LCP image paints at once. */
/* .ra-reveal / .ra-reveal-group > *: rise into place as they scroll into view, driven by a CSS view timeline (no JS).
   Browsers without scroll-driven animations show the content static. */
@keyframes ra-rise { from { opacity: 0; translate: 0 16px; } }
@media (prefers-reduced-motion: no-preference) {
  .ra-enter { animation: ra-rise .8s cubic-bezier(.2, .7, .2, 1) both; animation-delay: calc(var(--ra-i, 0) * 90ms); }
  .ra-stagger.ra-enter-lines > span { animation: ra-rise .8s cubic-bezier(.2, .7, .2, 1) both; animation-delay: calc((var(--ra-i, 0) + var(--ra-line, 0)) * 90ms); }
  .ra-stagger.ra-enter-lines > span:nth-child(2) { --ra-line: 1; }
  .ra-stagger.ra-enter-lines > span:nth-child(3) { --ra-line: 2; }
  @supports ((animation-timeline: view()) and (animation-range: entry)) {
    .ra-reveal, .ra-reveal-group > * {
      animation: ra-rise auto cubic-bezier(.2, .7, .2, 1) both;
      animation-timeline: view();
      animation-range: entry calc(var(--ra-step, 0) * 6%) entry calc(70% + var(--ra-step, 0) * 6%);
    }
    .ra-reveal-group > :nth-child(2) { --ra-step: 1; }
    .ra-reveal-group > :nth-child(3) { --ra-step: 2; }
    .ra-reveal-group > :nth-child(4) { --ra-step: 3; }
    .ra-reveal-group > :nth-child(n+5) { --ra-step: 4; }
  }
}

