@font-face { font-family:Montserrat; src:url('assets/montserrat-regular.woff2') format('woff2'); font-weight:400; font-display:swap; }
@font-face { font-family:Montserrat; src:url('assets/montserrat-medium.woff2') format('woff2'); font-weight:500; font-display:swap; }
@font-face { font-family:Montserrat; src:url('assets/montserrat-bold.woff2') format('woff2'); font-weight:700; font-display:swap; }
body { margin:0; }
body:has(.rp-timeline .project-dialog[open]) { overflow:hidden; }
.rp-timeline { --green:#183b30; --dark:#0b1f19; --ink:#2e302d; --muted:#626d63; --gold:#d6b86c; --light-gold:#f4e1a7; --paper:#f8f7f3; --line:#d9ddd6; font-family:Montserrat,Arial,sans-serif; background:var(--paper); color:var(--ink); font-size:16px; line-height:1.55; overflow-wrap:break-word; }
.rp-timeline *, .rp-timeline *::before, .rp-timeline *::after { box-sizing:border-box; }
.rp-timeline [hidden] { display:none!important; }
.rp-timeline img { max-width:100%; display:block; }
.rp-timeline button,.rp-timeline input,.rp-timeline select { font:inherit; }
.rp-timeline button { cursor:pointer; }
.rp-timeline button,.rp-timeline a { -webkit-tap-highlight-color:transparent; }
.rp-timeline a { color:inherit; text-underline-offset:4px; }
.rp-timeline :focus-visible { outline:3px solid #ad842e; outline-offset:4px; }
.rp-timeline h1,.rp-timeline h2,.rp-timeline h3,.rp-timeline p,.rp-timeline dl { margin:0; }
.rp-timeline h1,.rp-timeline h2,.rp-timeline h3 { font-weight:700; line-height:1.14; letter-spacing:-.035em; }
.rp-timeline h2 { font-size:clamp(30px,3.2vw,44px); }
.rp-timeline .shell { width:min(1240px,calc(100% - 80px)); margin-inline:auto; }
.rp-timeline .sr-only { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.rp-timeline .skip-link { position:absolute; z-index:20; top:-100px; left:18px; padding:12px; background:white; }
.rp-timeline .skip-link:focus { top:10px; }
.rp-timeline section[id] { scroll-margin-top:24px; }
.rp-timeline .header { background:var(--dark); color:white; }
.rp-timeline .header-inner { display:flex; align-items:center; justify-content:space-between; min-height:82px; gap:24px; }
.rp-timeline .header img { width:116px; height:50px; }
.rp-timeline nav { display:flex; align-items:center; gap:32px; font-size:13px; }
.rp-timeline nav a { text-decoration:none; }
.rp-timeline .button { display:inline-flex; align-items:center; justify-content:center; gap:20px; min-height:48px; padding:13px 22px; border:1px solid transparent; border-radius:3px; font-size:13px; font-weight:700; text-decoration:none; line-height:1.5; }
.rp-timeline .gold { color:var(--dark); background:var(--gold); }
.rp-timeline .gold:hover { background:var(--light-gold); }
.rp-timeline .primary { background:var(--green); color:white; }
.rp-timeline .primary:hover { background:#2a5442; }
.rp-timeline .outline { background:transparent; border-color:#839282; color:var(--green); }
.rp-timeline .outline:hover { background:#edf0e9; }
.rp-timeline .text-button { min-height:44px; padding:9px 0; border:0; background:none; color:var(--green); font-size:12px; font-weight:500; text-decoration:underline; text-underline-offset:4px; }
.rp-timeline .hero { position:relative; isolation:isolate; overflow:hidden; color:white; background:var(--dark); }
.rp-timeline .hero-coast { position:absolute; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover; object-position:55% 46%; }
.rp-timeline .hero::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(11,31,25,.96),rgba(11,31,25,.8) 40%,rgba(11,31,25,.24) 76%,rgba(11,31,25,.1)); }
.rp-timeline .hero-inner { padding-block:56px 62px; }
.rp-timeline .hero-copy { max-width:750px; }
.rp-timeline h1 { font-size:clamp(38px,4.25vw,59px); line-height:1.1; letter-spacing:-.045em; }
.rp-timeline .hero-lead { max-width:580px; margin:26px 0; font-size:18px; line-height:1.6; color:#e2e7e0; }
.rp-timeline .selection-section { padding-block:48px 60px; }
.rp-timeline .catalog-heading { display:flex; justify-content:space-between; align-items:end; gap:44px; padding-bottom:28px; }
.rp-timeline .eyebrow { color:#637267; font-size:11px; font-weight:700; letter-spacing:.08em; margin-bottom:14px; }
.rp-timeline .catalog-heading-aside { max-width:390px; }
.rp-timeline .catalog-heading-aside p { font-size:15px; color:var(--muted); }
.rp-timeline .catalog-heading-aside a { display:inline-block; margin-top:12px; color:var(--green); font-size:12px; font-weight:700; }
.rp-timeline .catalog-heading h2 { font-size:clamp(28px,3.2vw,42px); }
.rp-timeline .static-year-group { padding:28px 0 42px; border-top:1px solid var(--line); }
.rp-timeline .static-year-group h3 { margin:0 0 20px; color:var(--green); font-size:clamp(30px,3vw,42px); }
.rp-timeline .static-projects { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; padding:0; margin:0; list-style:none; }
.rp-timeline .static-projects li { padding:24px; background:#fff; border:1px solid var(--line); border-radius:5px; }
.rp-timeline .static-projects h4 { margin:8px 0; font-size:21px; }
.rp-timeline .static-projects h4 a { color:var(--green); }
.rp-timeline .static-projects p { margin:8px 0; font-size:13px; color:var(--muted); }
.rp-timeline .static-projects .static-project-meta { color:#866f42; font-weight:700; }
.rp-timeline .filter-bar { position:sticky; top:0; z-index:5; background:var(--paper); border-block:1px solid var(--line); }
.rp-timeline .filter-inner { display:grid; grid-template-columns:minmax(230px,1.25fr) repeat(3,minmax(155px,1fr)); gap:14px; align-items:end; padding-block:15px; }
.rp-timeline #completion-filters { display:grid; grid-template-columns:1fr 1fr; gap:4px; padding:4px; border-radius:6px; background:#e8ede5; }
.rp-timeline #completion-filters button { min-height:45px; border:0; border-radius:4px; color:var(--green); background:transparent; font-size:13px; font-weight:700; }
.rp-timeline #completion-filters button:hover { background:#dce6d8; }
.rp-timeline #completion-filters button[aria-pressed="true"] { background:var(--green); color:white; }
.rp-timeline #completion-filters button[aria-pressed="true"]:hover { background:#285342; }
.rp-timeline .filter-inner label { display:block; color:#53644f; font-size:11px; font-weight:500; line-height:1.3; }
.rp-timeline .filter-inner select { display:block; width:100%; min-width:0; height:46px; margin-top:5px; padding:9px 12px; border:1px solid #cbd5c8; border-radius:4px; background:white; color:var(--green); font-size:13px; }
.rp-timeline .filter-reset { grid-column:1 / -1; justify-self:end; min-height:30px; margin-top:-8px; padding:3px 0; border:0; border-bottom:1px solid currentColor; background:transparent; color:var(--green); font-size:12px; font-weight:700; }
.rp-timeline .filter-reset:disabled { opacity:.45; cursor:default; }
.rp-timeline .catalog-body { padding-top:28px; }
.rp-timeline .selection-share-bar { display:flex; align-items:center; justify-content:space-between; gap:12px 28px; margin-bottom:24px; padding:14px 18px; border:1px solid #dbe4d9; border-radius:6px; background:#f0f4ef; }
.rp-timeline .selection-share-copy { min-width:0; }
.rp-timeline .selection-share-copy span { display:block; color:var(--green); font-size:12px; font-weight:700; }
.rp-timeline .selection-share-copy p { margin-top:3px; color:#647266; font-size:11px; line-height:1.5; }
.rp-timeline .selection-share-action { flex-shrink:0; text-align:right; }
.rp-timeline .selection-share-action button { min-height:34px; padding:4px 0; border:0; border-bottom:1px solid #819d8a; border-radius:0; background:transparent; color:var(--green); font-size:12px; font-weight:700; }
.rp-timeline .selection-share-action button:hover { border-bottom-color:currentColor; }
.rp-timeline .selection-share-action button:disabled { opacity:.45; cursor:not-allowed; }
.rp-timeline .selection-share-action p { max-width:310px; color:#40634e; font-size:11px; line-height:1.4; }
.rp-timeline .selection-share-action p:empty { display:none; }
.rp-timeline #project-timeline { margin-left:11px; }
.rp-timeline .year-group { position:relative; border-left:1px solid #bcc6b8; padding-left:38px; padding-bottom:38px; }
.rp-timeline .year-group:last-child { padding-bottom:0; }
.rp-timeline .year-group--unknown { border-left-style:dashed; }
.rp-timeline .year-heading { position:relative; display:flex; align-items:center; gap:26px; min-height:106px; padding:20px 0 24px; }
.rp-timeline .year-heading::before { content:""; position:absolute; width:13px; height:13px; border:2px solid var(--green); border-radius:50%; background:var(--paper); left:-45px; top:47px; }
.rp-timeline .year-heading h2 { font-size:48px; color:var(--green); letter-spacing:-.04em; }
.rp-timeline .year-heading p { color:#64705f; font-size:12px; padding-left:24px; border-left:1px solid #d3d8ce; line-height:1.5; }
.rp-timeline .year-heading p span { display:block; margin-top:4px; color:#435d4c; }
.rp-timeline .year-group--unknown h2 { font-size:34px; }
.rp-timeline .project-list { display:grid; gap:26px; }
.rp-timeline .project-card { scroll-margin-top:110px; position:relative; display:grid; grid-template-columns:minmax(0,1.18fr) minmax(0,1fr); background:white; border:1px solid var(--line); border-radius:8px; overflow:hidden; }
.rp-timeline .project-visual { position:relative; min-height:430px; background:#e0e7df; }
.rp-timeline .project-visual img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.rp-timeline .project-card[data-id="riviera-malibu"] .project-visual img { object-position:35% center; }
.rp-timeline .project-card[data-id="grand-solaire-noble"] .project-visual img { object-position:right center; }
.rp-timeline .image-disclosure { position:absolute; right:12px; bottom:12px; border-radius:2px; color:#e6e9e3; background:#11271ece; padding:4px 8px; font-size:10px; }
.rp-timeline .card-content { display:flex; min-width:0; flex-direction:column; padding:30px 32px 18px; }
.rp-timeline .card-meta,.rp-timeline .detail-meta { display:flex; align-items:center; flex-wrap:wrap; gap:8px 12px; }
.rp-timeline .district { align-self:flex-start; color:#7f692d; font-weight:700; font-size:11px; text-transform:uppercase; letter-spacing:.045em; }
.rp-timeline .card-meta .district { display:inline-flex; align-items:center; flex-wrap:wrap; gap:7px; margin:0; }
.rp-timeline .district-name { display:inline-flex; align-items:center; min-height:28px; padding:4px 9px; border:1px solid #9fb6a6; border-radius:3px; background:#edf3ed; color:#214638; font-size:12px; line-height:1.3; letter-spacing:.025em; }
.rp-timeline .city-name { color:#85795e; font-size:10px; letter-spacing:.065em; }
.rp-timeline .sales-badge { display:inline-flex; align-items:center; min-height:25px; padding:3px 9px; border:1px solid #bea66b; border-radius:3px; background:#f2e8d1; color:#604813; font-size:10px; font-weight:700; line-height:1.2; letter-spacing:.04em; text-transform:uppercase; white-space:nowrap; }
.rp-timeline .project-card h3 { font-size:29px; margin-top:10px; }
.rp-timeline .card-open { border:0; padding:0; background:none; color:inherit; font:inherit; line-height:inherit; letter-spacing:inherit; text-align:left; }
.rp-timeline .card-open::after { content:""; position:absolute; inset:0; z-index:1; }
.rp-timeline .card-open:focus-visible { outline:none; }
.rp-timeline .card-open:focus-visible::after { outline:3px solid #ad842e; outline-offset:-4px; border-radius:8px; }
.rp-timeline .project-card:hover .card-open { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:4px; }
.rp-timeline .selling-line { font-size:16px; font-weight:700; color:var(--green); margin-top:14px; line-height:1.4; }
.rp-timeline .project-description { font-size:13px; color:#637064; line-height:1.65; margin-top:10px; }
.rp-timeline .project-facts { display:grid; grid-template-columns:1fr 1.3fr; gap:18px; padding-block:15px; margin-top:20px; border-block:1px solid var(--line); }
.rp-timeline .project-facts dt { font-size:10px; text-transform:uppercase; color:#64705f; font-weight:500; margin-bottom:4px; }
.rp-timeline .project-facts dd { margin:0; font-size:12px; font-weight:700; line-height:1.6; }
.rp-timeline .developer { font-size:11px; color:#64705f; margin-top:10px; }
.rp-timeline .card-bottom { margin-top:auto; padding-top:20px; }
.rp-timeline .project-price { color:var(--green); }
.rp-timeline .project-price>span { font-size:13px; margin-right:4px; }
.rp-timeline .project-price strong { font-size:27px; line-height:1.25; letter-spacing:-.035em; }
.rp-timeline .project-price small { display:block; margin-top:6px; font-size:10px; color:#64705f; }
.rp-timeline .card-actions { position:relative; z-index:2; display:flex; align-items:center; flex-wrap:wrap; gap:8px 12px; margin-top:16px; }
.rp-timeline .card-actions .button { padding:11px 16px; font-size:12px; min-height:44px; }
.rp-timeline .card-actions .project-page-link { display:inline-flex; align-items:center; justify-content:flex-start; gap:7px; min-height:44px; padding:8px 2px; color:#476353; font-size:11px; font-weight:700; line-height:1.4; text-decoration:none; white-space:nowrap; }
.rp-timeline .card-actions .project-page-link span { font-size:15px; line-height:1; }
.rp-timeline .card-actions .project-page-link:hover { color:#173b2e; text-decoration:underline; text-underline-offset:4px; }
.rp-timeline .project-card--featured .card-actions .project-page-link { color:#e6eadf; }
.rp-timeline .project-card--featured .card-actions .project-page-link:hover { color:white; }
.rp-timeline .source-details { position:relative; z-index:2; margin-top:12px; color:#64705f; font-size:11px; }
.rp-timeline .source-details summary { cursor:pointer; padding:8px 0; min-height:36px; }
.rp-timeline .source-details p { margin-block:8px; line-height:1.7; }
.rp-timeline .project-card--featured { display:block; isolation:isolate; background:var(--dark); border-color:#baaa79; color:white; }
.rp-timeline .project-card--featured .project-visual { position:absolute; inset:0; z-index:-2; min-height:0; background:var(--dark); }
.rp-timeline .project-card--featured .project-visual img { object-fit:cover; object-position:center; }
.rp-timeline .project-card--featured::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(11,31,25,.98) 0%,rgba(11,31,25,.94) 30%,rgba(11,31,25,.74) 52%,rgba(11,31,25,.18) 75%,rgba(11,31,25,.04) 100%); }
.rp-timeline .project-card--featured .card-content { width:min(60%,670px); min-height:570px; padding:38px 44px 25px; }
.rp-timeline .project-card--featured .district,.rp-timeline .project-card--featured .selling-line { color:var(--light-gold); }
.rp-timeline .project-card--featured .district-name { border-color:#cbb374; background:rgba(204,178,110,.14); color:#f4e4bc; }
.rp-timeline .project-card--featured .city-name { color:#d8decf; }
.rp-timeline .project-card--featured .sales-badge { background:#d8bd7d; color:#17291f; border-color:#d8bd7d; }
.rp-timeline .project-card--featured h3 { font-size:40px; }
.rp-timeline .project-card--featured .selling-line { font-size:20px; }
.rp-timeline .project-card--featured .project-description { color:#c7d1c7; }
.rp-timeline .project-card--featured .project-facts { border-color:#425446; }
.rp-timeline .project-card--featured .project-facts dt,.rp-timeline .project-card--featured .developer,.rp-timeline .project-card--featured .source-details,.rp-timeline .project-card--featured .project-price small { color:#b1c2b2; }
.rp-timeline .project-card--featured .project-price,.rp-timeline .project-card--featured .text-button { color:white; }
.rp-timeline .project-card--featured .outline { color:white; border-color:var(--gold); }
.rp-timeline .project-card--featured .outline:hover { background:#ffffff15; }
.rp-timeline .project-card--featured .image-disclosure { display:none; }
.rp-timeline .empty-state { margin-top:28px; padding:42px; border:1px solid var(--line); background:white; border-radius:8px; max-width:820px; }
.rp-timeline .empty-state h3 { font-size:30px; }
.rp-timeline .empty-state>p:not(.eyebrow) { margin-top:18px; font-size:15px; color:#65715f; }
.rp-timeline .empty-actions { display:flex; align-items:center; gap:25px; margin-top:26px; }
.rp-timeline #ready-link { display:inline-block; margin-top:22px; font-size:13px; color:var(--green); }
.rp-timeline .approach-section { padding-block:60px; background:#ecf0e9; border-top:1px solid #dde3d8; }
.rp-timeline .approach-heading>p:last-child { max-width:780px; color:#5f6b5b; margin-top:24px; font-size:16px; }
.rp-timeline .approach-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:42px; margin-top:38px; }
.rp-timeline .approach-grid article>span { display:block; font-size:13px; color:#756130; margin-bottom:16px; }
.rp-timeline .approach-grid h3 { font-size:21px; line-height:1.4; }
.rp-timeline .approach-grid p { font-size:14px; color:#64715e; line-height:1.7; margin-top:13px; }
.rp-timeline .approach-footer { display:flex; justify-content:space-between; align-items:start; gap:24px; border-top:1px solid #cbd5c4; padding-top:24px; margin-top:35px; font-size:13px; color:#56664e; }
.rp-timeline .approach-footer a { color:var(--green); flex-shrink:0; }
.rp-timeline .form-section { padding-block:64px; color:white; background:var(--dark); }
.rp-timeline .form-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:76px; }
.rp-timeline .section-index { color:#b7c7b5; font-size:10px; font-weight:700; letter-spacing:.07em; margin-bottom:22px; }
.rp-timeline .form-copy h2 { font-size:43px; line-height:1.2; }
.rp-timeline .form-copy em { font-style:normal; color:var(--light-gold); }
.rp-timeline .form-copy>p:not(.section-index) { margin-top:24px; max-width:470px; font-size:15px; color:#c9d6c6; }
.rp-timeline .process { list-style:none; padding:0; margin:28px 0 0; }
.rp-timeline .process li { display:flex; align-items:center; gap:18px; border-top:1px solid #415540; padding:17px 0; font-size:13px; }
.rp-timeline .process span { color:var(--gold); font-size:11px; }
.rp-timeline .form-copy .form-followup { font-size:13px; }
.rp-timeline form { background:white; color:var(--ink); padding:28px; border-radius:6px; }
.rp-timeline .demo-notice { color:#6a7564; font-size:11px; border-bottom:1px solid var(--line); padding-bottom:15px; }
.rp-timeline .selection-summary { font-size:13px; color:var(--green); padding:18px 0; }
.rp-timeline fieldset { padding:0; margin:0; border:0; min-width:0; }
.rp-timeline form label { display:block; font-size:12px; margin-bottom:15px; }
.rp-timeline input:not([type="checkbox"]):not([type="radio"]),.rp-timeline select { width:100%; display:block; border:1px solid #c6cec1; border-radius:3px; min-height:46px; padding:11px 10px; margin-top:7px; font-size:14px; color:var(--ink); background:white; }
.rp-timeline .form-row { display:grid; grid-template-columns:1fr 1fr; gap:15px; }
.rp-timeline input::placeholder { color:#64705f; }
.rp-timeline .contact-preference { display:flex; align-items:center; gap:14px; flex-wrap:wrap; font-size:12px; margin-block:20px; }
.rp-timeline .contact-preference label { display:flex; align-items:center; gap:5px; margin:0; }
.rp-timeline input[type="checkbox"],.rp-timeline input[type="radio"] { width:18px; height:18px; margin:0; flex-shrink:0; accent-color:var(--green); }
.rp-timeline form .consent { display:flex; gap:10px; font-size:11px; line-height:1.7; margin-bottom:4px; }
.rp-timeline .field-error { display:block; color:#a12f25; font-size:12px; }
.rp-timeline [aria-invalid="true"] { border-color:#a12f25!important; }
.rp-timeline .submit { width:100%; margin-top:18px; }
.rp-timeline #form-status { margin-top:15px; font-size:13px; }
.rp-timeline .form-success,.rp-timeline .project-success-view { background:#fff; color:var(--green); padding:38px 32px; border-radius:6px; }
.rp-timeline .form-success-mark { display:grid; place-items:center; width:46px; height:46px; margin-bottom:20px; border-radius:50%; background:#edf3e9; color:var(--green); font-size:24px; }
.rp-timeline .form-success h3,.rp-timeline .project-success-view h2 { margin:0; font-size:clamp(24px,2.4vw,32px); line-height:1.2; }
.rp-timeline .form-success p,.rp-timeline .project-success-view p { margin:16px 0 25px; color:#5d6a60; font-size:14px; line-height:1.7; }
.rp-timeline .form-success button { min-width:144px; }
.rp-timeline .form-success h3:focus,.rp-timeline .project-success-view h2:focus { outline:none; }
.rp-timeline .disclaimer { display:grid; grid-template-columns:1fr 3fr; gap:44px; padding-block:36px; }
.rp-timeline .disclaimer h2 { font-size:16px; letter-spacing:0; }
.rp-timeline .disclaimer p { color:#63725e; font-size:11px; line-height:1.9; }
.rp-timeline .footer { display:flex; justify-content:space-between; align-items:center; gap:24px; border-top:1px solid var(--line); padding-block:24px 30px; font-size:11px; color:#616e5b; }
.rp-timeline .footer>a:first-child { font-size:19px; font-weight:700; color:var(--green); text-decoration:none; }
@media(max-width:1100px) {
 .rp-timeline .shell { width:calc(100% - 48px); }
 .rp-timeline .filter-inner { grid-template-columns:minmax(210px,1.2fr) repeat(3,minmax(135px,1fr)); gap:10px; }
 .rp-timeline .project-card { grid-template-columns:1fr 1fr; }
 .rp-timeline .card-content { padding:26px 24px 16px; }
 .rp-timeline .project-card h3 { font-size:25px; }
 .rp-timeline .project-card--featured h3 { font-size:35px; }
 .rp-timeline .project-card--featured .card-content { width:64%; }
 .rp-timeline .project-price strong { font-size:24px; }
 .rp-timeline .catalog-heading-aside { max-width:320px; }
 .rp-timeline .form-layout { gap:36px; }
}
@media(max-width:850px) {
 .rp-timeline .catalog-heading { display:block; }
 .rp-timeline .catalog-heading-aside { max-width:660px; margin-top:20px; }
 .rp-timeline .project-card { grid-template-columns:1fr; }
 .rp-timeline .project-visual { min-height:0; height:360px; }
 .rp-timeline .card-content { padding:28px 30px 18px; }
 .rp-timeline .project-card h3 { font-size:30px; }
 .rp-timeline .card-actions { gap:24px; }
 .rp-timeline .card-bottom { display:flex; justify-content:space-between; align-items:center; gap:24px; }
 .rp-timeline .card-actions { display:block; margin:0; }
 .rp-timeline .card-actions .project-page-link { display:inline-flex; }
 .rp-timeline .project-card--featured .card-content { width:72%; padding:32px; }
 .rp-timeline .project-card--featured .card-bottom { display:block; }
 .rp-timeline .project-card--featured .card-actions { display:flex; margin-top:18px; }
 .rp-timeline .approach-grid { gap:24px; }
 .rp-timeline .approach-grid h3 { font-size:18px; }
 .rp-timeline .form-layout { grid-template-columns:1fr; gap:32px; }
 .rp-timeline .form-copy h2 br { display:none; }
 .rp-timeline .form-copy>p:not(.section-index) { max-width:650px; }
}
@media(max-width:600px) {
 .rp-timeline .shell { width:calc(100% - 36px); }
 .rp-timeline .header-inner { min-height:70px; gap:16px; }
 .rp-timeline .header img { width:99px; height:42px; }
 .rp-timeline nav>a:not(.button) { display:none; }
 .rp-timeline nav .button { padding:10px 13px; min-height:42px; font-size:11px; }
 .rp-timeline .hero-inner { padding-block:38px 44px; }
 .rp-timeline .hero::before { background:linear-gradient(90deg,rgba(11,31,25,.94),rgba(11,31,25,.72)); }
 .rp-timeline .hero-coast { object-position:65% center; }
 .rp-timeline h1 { font-size:clamp(31px,8.3vw,45px); }
 .rp-timeline .hero-lead { font-size:14px; margin-block:22px; }
 .rp-timeline .hero .button { font-size:12px; }
 .rp-timeline .selection-section { padding-block:30px 36px; }
 .rp-timeline .catalog-heading { padding-bottom:22px; }
 .rp-timeline .catalog-heading h2 { font-size:29px; }
 .rp-timeline .catalog-heading h2 br { display:none; }
 .rp-timeline .catalog-heading-aside { margin-top:16px; }
 .rp-timeline .catalog-heading-aside p { font-size:14px; }
 .rp-timeline .static-projects { grid-template-columns:1fr; }
 .rp-timeline .eyebrow { font-size:10px; margin-bottom:12px; }
 .rp-timeline .filter-inner { padding-block:12px; }
 .rp-timeline #completion-filters button { min-height:44px; font-size:12px; }
 .rp-timeline #project-timeline { margin-left:5px; }
 .rp-timeline .year-group { padding-left:17px; padding-bottom:24px; }
 .rp-timeline .year-heading { min-height:100px; gap:16px; padding-block:22px; }
 .rp-timeline .year-heading::before { left:-23px; top:39px; width:11px; height:11px; }
 .rp-timeline .year-heading h2 { font-size:36px; }
 .rp-timeline .year-heading p { padding-left:14px; font-size:10px; }
 .rp-timeline .year-group--unknown .year-heading { display:block; }
 .rp-timeline .year-group--unknown h2 { font-size:26px; }
 .rp-timeline .year-group--unknown .year-heading p { border:0; padding:0; margin-top:10px; font-size:11px; }
 .rp-timeline .project-list { gap:22px; }
 .rp-timeline .project-card { border-radius:6px; scroll-margin-top:160px; }
 .rp-timeline .project-visual { height:230px; }
 .rp-timeline .card-content { padding:22px 20px 14px; }
 .rp-timeline .district { font-size:10px; }
 .rp-timeline .project-card h3 { font-size:27px; }
 .rp-timeline .selling-line { font-size:16px; }
 .rp-timeline .project-description { font-size:13px; line-height:1.65; }
 .rp-timeline .project-facts { gap:12px; margin-top:18px; }
 .rp-timeline .project-facts dd { font-size:12px; }
 .rp-timeline .card-bottom { display:block; padding-top:18px; }
 .rp-timeline .project-price strong { font-size:25px; }
 .rp-timeline .card-actions { display:flex; gap:4px 16px; margin-top:17px; }
 .rp-timeline .card-actions .button { width:100%; min-height:46px; }
 .rp-timeline .card-actions .project-page-link { display:flex; width:100%; justify-content:center; min-height:42px; margin-top:2px; padding:9px 0; }
 .rp-timeline .source-details { font-size:11px; margin-top:5px; }
 .rp-timeline .source-details summary { min-height:40px; }
 .rp-timeline .project-card--featured { display:flex; flex-direction:column; }
 .rp-timeline .project-card--featured .project-visual { position:relative; z-index:auto; height:250px; }
 .rp-timeline .project-card--featured .project-visual img { object-position:78% center; }
 .rp-timeline .project-card--featured::before { display:none; }
 .rp-timeline .project-card--featured .card-content { width:100%; min-height:0; padding:24px 20px 16px; }
 .rp-timeline .project-card--featured h3 { font-size:29px; }
 .rp-timeline .project-card--featured .selling-line { font-size:18px; }
 .rp-timeline .project-card--featured .card-actions { gap:4px 16px; }
 .rp-timeline .project-card--featured .image-disclosure { display:block; }
 .rp-timeline .empty-state { padding:25px 20px; }
 .rp-timeline .empty-state h3 { font-size:25px; }
 .rp-timeline .empty-state>p:not(.eyebrow) { font-size:14px; }
 .rp-timeline .empty-actions { flex-wrap:wrap; gap:12px 24px; }
 .rp-timeline .approach-section { padding-block:38px; }
 .rp-timeline .approach-heading h2 { font-size:29px; }
 .rp-timeline .approach-heading h2 br { display:none; }
 .rp-timeline .approach-heading>p:last-child { font-size:14px; margin-top:18px; }
 .rp-timeline .approach-grid { grid-template-columns:1fr; gap:25px; margin-top:28px; }
 .rp-timeline .approach-grid article { border-top:1px solid #cbd5c4; padding-top:21px; }
 .rp-timeline .approach-grid article>span { margin-bottom:10px; }
 .rp-timeline .approach-grid h3 { font-size:21px; }
 .rp-timeline .approach-grid p { font-size:14px; margin-top:9px; }
 .rp-timeline .approach-footer { display:block; font-size:12px; }
 .rp-timeline .approach-footer a { display:inline-block; margin-top:16px; padding-block:6px; }
 .rp-timeline .form-section { padding-block:40px; }
 .rp-timeline .form-copy h2 { font-size:32px; }
 .rp-timeline .form-copy>p:not(.section-index) { font-size:14px; margin-top:20px; }
 .rp-timeline .process { margin-top:22px; }
 .rp-timeline form { padding:24px 18px; }
 .rp-timeline .form-row { grid-template-columns:1fr; gap:0; }
 .rp-timeline input:not([type="checkbox"]):not([type="radio"]),.rp-timeline select { font-size:16px; }
 .rp-timeline .contact-preference { gap:10px; }
 .rp-timeline .disclaimer { display:block; padding-block:28px; }
 .rp-timeline .disclaimer p { margin-top:13px; }
 .rp-timeline .footer { flex-wrap:wrap; gap:17px; }
 .rp-timeline .footer>span { order:3; width:100%; }
}
@media(prefers-reduced-motion:reduce) { .rp-timeline * { scroll-behavior:auto!important; transition:none!important; } }

/* Source-backed team and selection context. */
.rp-timeline .season-label { color:var(--light-gold); font-size:11px; font-weight:700; letter-spacing:.08em; margin-bottom:18px; }
.rp-timeline .trust-strip { border-bottom:1px solid var(--line); background:#eef1e9; }
.rp-timeline .trust-strip-inner { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; align-items:center; padding-block:20px; }
.rp-timeline .trust-strip strong { display:block; color:var(--green); font-size:14px; }
.rp-timeline .trust-strip span { font-size:12px; color:#606e59; }
.rp-timeline #project-timeline.price-view { margin-left:0; padding-top:12px; }
.rp-timeline .empty-actions { flex-wrap:wrap; gap:10px 24px; }
.rp-timeline .trust-layout { display:grid; grid-template-columns:300px 1fr; gap:65px; margin-top:34px; }
.rp-timeline .expert-profile { margin:0; background:white; border:1px solid #d6ded0; border-radius:6px; overflow:hidden; align-self:start; }
.rp-timeline .expert-profile img { width:100%; height:auto; }
.rp-timeline .expert-profile figcaption { padding:18px 20px; }
.rp-timeline .expert-profile strong { display:block; font-size:20px; color:var(--green); }
.rp-timeline .expert-profile span { display:block; color:#5e6c54; font-size:11px; margin-top:5px; }
.rp-timeline .expert-profile a { display:inline-block; min-height:40px; padding-top:14px; font-size:12px; color:var(--green); }
.rp-timeline .trust-facts article { display:flex; gap:22px; padding:22px 0; border-top:1px solid #cbd5c4; }
.rp-timeline .trust-facts article>span { color:#756130; font-size:12px; padding-top:4px; }
.rp-timeline .trust-facts h3 { font-size:22px; letter-spacing:-.025em; }
.rp-timeline .trust-facts p { color:#5f6b59; font-size:14px; line-height:1.75; max-width:690px; margin-top:12px; }
.rp-timeline .trust-facts a { display:inline-block; padding-block:11px 0; min-height:36px; font-size:12px; color:var(--green); }
@media(max-width:1100px) {
 .rp-timeline .trust-layout { grid-template-columns:260px 1fr; gap:35px; }
}
@media(max-width:850px) {
 .rp-timeline .trust-strip-inner { gap:16px; }
 .rp-timeline .trust-strip strong { font-size:12px; }
 .rp-timeline .trust-layout { grid-template-columns:220px 1fr; gap:28px; }
 .rp-timeline .trust-facts h3 { font-size:20px; }
 .rp-timeline .trust-facts p { font-size:13px; }
}
@media(max-width:600px) {
 .rp-timeline .season-label { font-size:9px; letter-spacing:.04em; max-width:250px; line-height:1.6; margin-bottom:15px; }
 .rp-timeline .trust-strip-inner { display:grid; grid-template-columns:1fr 1fr; gap:12px; padding-block:17px; }
 .rp-timeline .trust-strip span { font-size:10px; }
 .rp-timeline .trust-layout { grid-template-columns:1fr; gap:27px; }
 .rp-timeline .expert-profile { display:grid; grid-template-columns:115px 1fr; }
 .rp-timeline .expert-profile img { height:100%; object-fit:cover; object-position:center top; }
 .rp-timeline .expert-profile figcaption { padding:16px; }
 .rp-timeline .expert-profile strong { font-size:18px; }
 .rp-timeline .expert-profile a { font-size:11px; }
 .rp-timeline .trust-facts article { gap:14px; padding-block:20px; }
 .rp-timeline .trust-facts h3 { font-size:21px; }
}
/* V6: project details and contact are two views of one native modal. */
.rp-timeline .project-dialog { width:min(1180px,calc(100% - 64px)); max-width:none; max-height:90dvh; padding:0; border:1px solid #d5ddd5; border-radius:12px; color:var(--ink); background:white; overflow:hidden; box-shadow:0 30px 90px #071a1840; }
.rp-timeline .project-dialog::backdrop { background:#071a18d9; backdrop-filter:blur(7px); }
.rp-timeline .modal-close { position:absolute; z-index:4; top:14px; right:14px; display:grid; place-items:center; width:44px; height:44px; padding:0; border:0; border-radius:50%; background:#efe5d4; color:var(--dark); font-size:28px; line-height:1; }
.rp-timeline .modal-close:hover { background:#e0d1b5; }
.rp-timeline .project-detail-view { display:grid; grid-template-columns:51% 49%; height:min(760px,90dvh - 2px); min-height:0; }
.rp-timeline .detail-visual { position:relative; height:100%; margin:0; min-width:0; overflow:hidden; background:#24372f; }
.rp-timeline .detail-visual .detail-visual-backdrop { position:absolute; inset:-24px; width:calc(100% + 48px); height:calc(100% + 48px); object-fit:cover; filter:blur(25px) brightness(.55); }
.rp-timeline .detail-visual .detail-photo { position:relative; width:100%; height:100%; object-fit:contain; }
.rp-timeline .detail-visual figcaption { position:absolute; left:20px; bottom:20px; padding:5px 9px; border-radius:4px; background:#102a24be; color:white; font-size:10px; }
.rp-timeline .detail-content { display:flex; flex-direction:column; min-width:0; min-height:0; }
.rp-timeline .detail-scroll { overflow:auto; overscroll-behavior:contain; padding:34px 34px 24px; scrollbar-width:auto; scrollbar-color:#9aa997 #edf0ea; }
.rp-timeline .detail-scroll-cue { width:100%; min-height:44px; border:0; border-top:1px solid var(--line); padding:10px 34px; background:#f2f4ef; color:var(--green); text-align:left; font-size:12px; font-weight:700; }
.rp-timeline .detail-scroll-cue span[aria-hidden="true"] { float:right; font-size:18px; line-height:1; }
.rp-timeline .detail-scroll-cue:hover { background:#e8ede5; }
.rp-timeline .detail-scroll-cue--mobile { display:none; }
.rp-timeline .detail-location { color:#80652e; font-size:11px; font-weight:700; padding-right:35px; }
.rp-timeline .detail-meta { padding-right:35px; }
.rp-timeline .detail-meta .detail-location { padding-right:0; }
.rp-timeline .detail-sales-intro { margin:-4px 0 17px; padding:10px 13px; border-left:3px solid #bea66b; background:#f7f3e9; color:#516257; font-size:12px; line-height:1.5; }
.rp-timeline .detail-scroll h2 { font-size:clamp(26px,2.7vw,38px); margin:14px 30px 18px 0; line-height:1.12; }
.rp-timeline .detail-description { color:var(--muted); font-size:15px; line-height:1.7; }
.rp-timeline .detail-scroll h3 { font-size:10px; text-transform:uppercase; letter-spacing:.06em; color:#80652e; margin-bottom:13px; }
.rp-timeline .detail-reason { margin-block:24px; padding-block:20px; border-block:1px solid var(--line); }
.rp-timeline .detail-reason strong { display:block; font-size:17px; line-height:1.45; }
.rp-timeline .detail-reason p { margin-top:9px; font-size:13px; color:var(--muted); }
.rp-timeline .detail-specs dl>div,.rp-timeline .detail-dates dl>div { display:grid; grid-template-columns:1fr 1.2fr; gap:18px; padding:11px 0; border-bottom:1px solid #e6e9e2; font-size:12px; }
.rp-timeline .detail-scroll dt { color:#647065; }
.rp-timeline .detail-scroll dd { margin:0; font-weight:500; }
.rp-timeline .detail-dates { margin-top:24px; }
.rp-timeline .detail-dates dd { color:var(--green); font-weight:700; }
.rp-timeline .detail-dates>p { margin-top:12px; font-size:11px; color:var(--muted); }
.rp-timeline .detail-consideration { padding:15px 16px; border-left:3px solid #c4a569; background:#f8f5ef; margin-top:22px; font-size:12px; }
.rp-timeline .detail-consideration p { margin-top:7px; color:var(--muted); }
.rp-timeline .detail-source-note { margin-top:16px; font-size:11px; color:var(--muted); line-height:1.6; }
.rp-timeline .detail-source { display:block; min-height:44px; padding-top:15px; font-size:11px; color:var(--green); }
.rp-timeline .detail-action { padding:19px 34px 26px; border-top:1px solid var(--line); background:white; box-shadow:0 -8px 20px #173b3005; }
.rp-timeline .detail-action p>span { display:block; font-size:11px; color:var(--muted); }
.rp-timeline .detail-action strong { display:block; font-size:25px; letter-spacing:-.025em; margin-top:3px; }
.rp-timeline .detail-action small { display:block; color:var(--muted); font-size:11px; margin-block:6px 14px; }
.rp-timeline .project-dialog .gold { background:#c5a769; border-radius:100px; width:100%; min-height:54px; font-size:14px; padding:13px 18px; gap:8px; }
.rp-timeline .project-dialog .gold:hover { background:#d8bc7d; }
.rp-timeline .project-dialog.is-contact { width:min(600px,calc(100% - 40px)); overflow:auto; border-radius:24px; }
.rp-timeline .project-contact-view { padding:28px 36px 30px; }
.rp-timeline .project-success-view { padding:45px 36px 38px; }
.rp-timeline .modal-back { display:block; border:0; background:none; color:#5e6f60; font-size:11px; min-height:40px; padding:0; margin-bottom:8px; }
.rp-timeline .project-contact-view h2 { font-size:28px; line-height:1.25; padding-right:8px; margin-bottom:17px; }
.rp-timeline .contact-intro { font-size:14px; line-height:1.75; color:var(--muted); }
.rp-timeline .project-dialog form { padding:24px 0 0; border-radius:0; }
.rp-timeline .project-dialog form label { font-size:13px; }
.rp-timeline .project-dialog input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]) { border-radius:24px; background:#fbfaf7; min-height:52px; padding:12px 17px; font-size:16px; }
.rp-timeline .project-dialog .contact-preference { gap:12px 18px; margin-block:20px; }
.rp-timeline .project-dialog .contact-preference>span { width:100%; color:var(--muted); font-size:11px; }
.rp-timeline .project-dialog .contact-preference label { font-size:12px; }
.rp-timeline .project-dialog .consent { font-size:11px; margin-top:23px; }
.rp-timeline #modal-form-status { font-size:12px; color:var(--green); }
.rp-timeline #modal-form-status:not(:empty) { margin-top:20px; padding:13px; background:#eef1e9; }
.rp-timeline .modal-demo { margin-top:17px; text-align:center; font-size:10px; color:var(--muted); }
.rp-timeline #detail-title:focus,.rp-timeline #contact-title:focus { outline:none; }
@media(max-width:850px) {
 .rp-timeline .project-dialog { width:calc(100% - 32px); max-height:94dvh; overflow:auto; }
 .rp-timeline .project-detail-view { display:block; height:auto; }
 .rp-timeline .modal-close { position:sticky; top:10px; margin:10px 10px -54px auto; }
 .rp-timeline .detail-visual { height:clamp(300px,45dvh,440px); }
 .rp-timeline .detail-scroll { overflow:visible; padding:28px 24px 4px; }
 .rp-timeline .detail-scroll-cue--desktop { display:none; }
 .rp-timeline .detail-scroll-cue--mobile { display:block; margin:0 0 18px; padding:9px 12px; border:1px solid #d8dfd4; border-radius:6px; background:#f2f4ef; font-size:11px; }
 .rp-timeline .detail-action { padding:16px 24px 20px; }
}
@media(max-width:600px) {
 .rp-timeline .project-dialog { width:calc(100% - 20px); max-height:94dvh; border-radius:12px; overflow:auto; }
 .rp-timeline .detail-visual { height:clamp(260px,42dvh,380px); }
 .rp-timeline .detail-visual figcaption { left:16px; bottom:12px; }
 .rp-timeline .detail-scroll { overflow:visible; padding:24px 22px 4px; }
 .rp-timeline .detail-scroll h2 { font-size:28px; margin:12px 0 16px; }
 .rp-timeline .detail-location { padding:0; font-size:10px; }
 .rp-timeline .detail-meta { padding-right:0; }
 .rp-timeline .detail-description { font-size:14px; }
 .rp-timeline .detail-action { padding:18px 22px 22px; }
 .rp-timeline .detail-action strong { font-size:26px; }
 .rp-timeline .detail-action small { font-size:11px; }
 .rp-timeline .project-dialog .gold { font-size:12px; min-height:52px; }
 .rp-timeline .project-dialog.is-contact { width:calc(100% - 20px); max-height:94dvh; border-radius:18px; }
 .rp-timeline .project-contact-view { padding:20px 22px 24px; }
 .rp-timeline .modal-back { font-size:10px; padding-right:42px; margin-bottom:14px; }
 .rp-timeline .project-contact-view h2 { font-size:25px; padding:0; }
 .rp-timeline .contact-intro { font-size:13px; }
 .rp-timeline .project-dialog .contact-preference { gap:10px 13px; }
 .rp-timeline .project-dialog .contact-preference label { font-size:11px; }
}

.rp-timeline .detail-date-summary { display:flex; gap:5px 12px; flex-wrap:wrap; font-size:11px; color:var(--muted); margin-bottom:18px; }
.rp-timeline .detail-date-summary strong { color:var(--green); }

.rp-timeline .timeline-notice { margin:-10px 0 22px; padding:12px 16px; border-left:3px solid #bea369; background:#f3efe5; color:#5c645b; font-size:12px; line-height:1.6; }

.rp-timeline .feature-intro,.rp-timeline .feature-interlude { margin-left:-11px; }
.rp-timeline .feature-intro { margin-block:12px 34px; }
.rp-timeline .feature-interlude { margin-block:8px 40px; }
.rp-timeline .feature-kicker { margin-bottom:13px; color:#8a7139; font-size:11px; font-weight:700; letter-spacing:.1em; }
.rp-timeline .project-card--announcement { border-color:#c8c5b7; }
.rp-timeline .project-card--announcement[hidden] { display:none; }
.rp-timeline .project-card--announcement .announcement-visual { overflow:hidden; background:#22352f; }
.rp-timeline .project-card--announcement .announcement-render-backdrop { object-fit:cover; object-position:70% center; filter:blur(20px) brightness(.5); transform:scale(1.07); }
.rp-timeline .project-card--announcement.project-card--featured .announcement-render { inset:0 0 0 auto; width:58%; height:100%; object-fit:contain; object-position:right center; -webkit-mask-image:linear-gradient(90deg,transparent 0%,transparent 8%,#000 35%); mask-image:linear-gradient(90deg,transparent 0%,transparent 8%,#000 35%); }
.rp-timeline .announcement-image-caption { position:absolute; right:12px; bottom:12px; z-index:1; border-radius:2px; background:#11271ece; color:#e6e9e3; padding:4px 8px; font-size:10px; }
.rp-timeline .project-card--announcement .sales-badge { background:#e9d8b1; }
.rp-timeline .project-card--announcement .project-description { max-width:520px; }
.rp-timeline .project-card--announcement .card-actions { margin-top:0; }
.rp-timeline .project-card--announcement .image-disclosure { color:#f6f0dd; z-index:1; }
@media(max-width:850px) {
 .rp-timeline .filter-bar { position:static; }
 .rp-timeline .project-card--announcement.project-card--featured { display:flex; flex-direction:column; }
 .rp-timeline .project-card--announcement.project-card--featured .announcement-visual { position:relative; z-index:auto; height:390px; }
 .rp-timeline .project-card--announcement.project-card--featured::before { display:none; }
 .rp-timeline .project-card--announcement.project-card--featured .card-content { width:100%; min-height:0; padding:30px; }
 .rp-timeline .project-card--announcement.project-card--featured .announcement-render { inset:0; width:100%; object-position:center; -webkit-mask-image:none; mask-image:none; }
}
@media(max-width:600px) {
 .rp-timeline .feature-intro { margin-block:8px 24px; }
 .rp-timeline .feature-interlude { margin-block:0 26px; }
 .rp-timeline .project-card--announcement.project-card--featured .announcement-visual { height:260px; }
 .rp-timeline .project-card--announcement.project-card--featured .card-content { padding:24px 20px 20px; }
 .rp-timeline .project-card--announcement .announcement-image-caption { left:12px; right:auto; top:12px; bottom:auto; }
 .rp-timeline .project-card--announcement .project-facts { grid-template-columns:1fr 1.25fr; }
}
.rp-timeline .upcoming-dialog { width:min(1080px,calc(100% - 40px)); max-width:none; max-height:90dvh; padding:0; border:1px solid #d5ddd5; border-radius:12px; background:white; color:var(--ink); overflow:auto; box-shadow:0 30px 90px #071a1840; }
.rp-timeline .upcoming-dialog::backdrop { background:#071a18d9; backdrop-filter:blur(7px); }
.rp-timeline .upcoming-dialog-layout { display:grid; grid-template-columns:1fr 1fr; min-height:590px; }
.rp-timeline .upcoming-dialog-visual { position:relative; min-width:0; margin:0; overflow:hidden; background:#24372f; }
.rp-timeline .upcoming-dialog-visual img { position:absolute; inset:0; width:100%; height:100%; }
.rp-timeline .upcoming-dialog-backdrop { object-fit:cover; filter:blur(25px) brightness(.55); transform:scale(1.12); }
.rp-timeline .upcoming-dialog-photo { object-fit:contain; }
.rp-timeline .upcoming-dialog-visual figcaption { position:absolute; left:18px; bottom:18px; padding:5px 9px; border-radius:4px; background:#102a24be; color:white; font-size:10px; }
.rp-timeline .upcoming-dialog-content { display:flex; flex-direction:column; align-items:flex-start; padding:48px 42px 34px; }
.rp-timeline .upcoming-dialog-content h2 { font-size:clamp(34px,3.7vw,54px); line-height:1.05; margin:12px 0 22px; }
.rp-timeline .upcoming-dialog-content h2:focus { outline:none; }
.rp-timeline .upcoming-dialog-lead { font-size:19px; line-height:1.45; color:var(--green); font-weight:700; }
.rp-timeline .upcoming-dialog-content dl { width:100%; margin:24px 0; border-top:1px solid var(--line); }
.rp-timeline .upcoming-dialog-content dl div { display:grid; grid-template-columns:40% 1fr; gap:14px; padding:14px 0; border-bottom:1px solid var(--line); font-size:12px; }
.rp-timeline .upcoming-dialog-content dt { color:var(--muted); }
.rp-timeline .upcoming-dialog-content dd { margin:0; font-weight:700; }
.rp-timeline .upcoming-dialog-content>p:last-of-type { color:var(--muted); font-size:13px; line-height:1.7; }
.rp-timeline .upcoming-dialog-content .button { margin-top:auto; width:100%; min-height:52px; }
.rp-timeline .form-section.is-announcement .form-row,.rp-timeline .form-section.is-announcement #form-fields>label:first-of-type,.rp-timeline .form-section.is-announcement .process,.rp-timeline .form-section.is-announcement .form-followup { display:none; }
@media(max-width:850px) {
 .rp-timeline .upcoming-dialog-layout { display:block; min-height:0; }
 .rp-timeline .upcoming-dialog-visual { height:clamp(260px,40dvh,420px); }
 .rp-timeline .upcoming-dialog-content { padding:30px 28px 28px; }
 .rp-timeline .upcoming-dialog-content .button { margin-top:28px; }
}
@media(max-width:600px) {
 .rp-timeline .upcoming-dialog { width:calc(100% - 20px); max-height:94dvh; }
 .rp-timeline .upcoming-dialog-visual { height:270px; }
 .rp-timeline .upcoming-dialog-content { padding:24px 22px 26px; }
 .rp-timeline .upcoming-dialog-content h2 { font-size:34px; margin-bottom:16px; }
 .rp-timeline .upcoming-dialog-lead { font-size:16px; }
 .rp-timeline .upcoming-dialog-content dl { margin:18px 0; }
}

/* The year stays beside its projects while the timeline moves through the viewport. */
.rp-timeline #project-timeline { margin-left:0; }
.rp-timeline .year-group { display:grid; grid-template-columns:110px minmax(0,1fr); column-gap:28px; border-left:0; padding-left:0; }
.rp-timeline .year-rail { grid-column:1; grid-row:1 / span 2; position:relative; min-width:0; border-right:1px solid #c7d1c8; }
.rp-timeline .year-rail::before { content:""; position:absolute; top:47px; right:-7px; width:13px; height:13px; border:2px solid #8fa295; border-radius:50%; background:var(--paper); transition:background .25s,border-color .25s; }
.rp-timeline .year-rail-label { position:sticky; top:110px; display:block; width:max-content; max-width:100%; margin:80px auto 0; padding:8px 2px; writing-mode:vertical-rl; transform:rotate(180deg); font-size:46px; line-height:1; letter-spacing:-.05em; font-weight:700; color:#a9b6aa; transition:color .25s; }
.rp-timeline .year-rail-label--text { font-size:24px; letter-spacing:-.02em; }
.rp-timeline .year-group.is-active .year-rail-label { color:#75867a; }
.rp-timeline .year-group.is-active .year-rail::before { background:#a2b0a5; border-color:#a2b0a5; }
.rp-timeline .year-group>.year-heading { grid-column:2; grid-row:1; }
.rp-timeline .year-heading::before { display:none; }
.rp-timeline .year-group>.project-list { grid-column:2; grid-row:2; min-width:0; }
.rp-timeline .feature-intro,.rp-timeline .feature-interlude { margin-left:0; }
@media(max-width:850px) {
 .rp-timeline .year-group { grid-template-columns:70px minmax(0,1fr); column-gap:18px; }
 .rp-timeline .year-rail-label { top:86px; font-size:31px; }
 .rp-timeline .year-rail-label--text { font-size:20px; }
}
@media(max-width:600px) {
 .rp-timeline .year-group { grid-template-columns:25px minmax(0,1fr); column-gap:12px; padding-left:0; }
 .rp-timeline .year-rail::before { top:40px; right:-6px; width:11px; height:11px; }
 .rp-timeline .year-rail-label { top:82px; margin-top:60px; padding:5px 2px; font-size:16px; letter-spacing:-.02em; }
 .rp-timeline .year-rail-label--text { font-size:14px; }
}

/* Short editorial pauses replace the small rationale grid above the catalog. */
.rp-timeline .editorial-note { display:grid; grid-template-columns:190px minmax(0,1fr); gap:16px 30px; align-items:start; margin:44px 0 52px; padding:54px 48px; border-block:1px solid #cbd4c8; background:#eef1e9; }
.rp-timeline .editorial-index { grid-row:1 / span 2; padding-top:7px; color:#766238; font-size:11px; font-weight:700; letter-spacing:.08em; }
.rp-timeline .editorial-note p { max-width:900px; color:var(--green); font-size:clamp(30px,3.6vw,48px); font-weight:700; line-height:1.13; letter-spacing:-.045em; }
.rp-timeline .editorial-note em { color:#728477; font-style:normal; }
.rp-timeline .editorial-support { grid-column:2; max-width:700px; color:#526458; font-size:15px; line-height:1.6; }
@media(max-width:850px) {
 .rp-timeline .filter-inner { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .rp-timeline #completion-filters { grid-column:1 / -1; }
 .rp-timeline .filter-inner label[for="sort-order"] { grid-column:1 / -1; }
 .rp-timeline .editorial-note { grid-template-columns:1fr; gap:15px; padding:42px 36px; }
 .rp-timeline .editorial-index { grid-row:auto; padding-top:0; }
 .rp-timeline .editorial-support { grid-column:1; }
}
@media(max-width:600px) {
 .rp-timeline .filter-inner { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
 .rp-timeline #completion-filters { grid-column:1 / -1; }
 .rp-timeline .filter-inner label[for="sort-order"] { grid-column:1 / -1; }
 .rp-timeline .filter-inner label { font-size:11px; }
 .rp-timeline .filter-inner select { height:44px; margin-top:4px; padding-inline:8px; font-size:12px; }
 .rp-timeline .catalog-body { padding-top:20px; }
 .rp-timeline .selection-share-bar { align-items:flex-start; flex-direction:column; gap:7px; margin-bottom:18px; padding:12px 14px; }
 .rp-timeline .selection-share-action { text-align:left; }
 .rp-timeline .editorial-note { gap:12px; margin:26px 0 34px; padding:30px 22px; }
 .rp-timeline .editorial-note p { font-size:clamp(26px,7vw,34px); }
 .rp-timeline .editorial-support { font-size:15px; }
}

/* Project photo galleries and presentation sections. */
:is(.rp-timeline,.rp-phuket) [data-gallery] .gallery-slide[hidden],
:is(.rp-timeline,.rp-phuket) .presentation-panel[hidden] { display:none!important; }
:is(.rp-timeline,.rp-phuket) .gallery-surface { position:absolute;inset:0;display:block;width:100%;height:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer; }
:is(.rp-timeline,.rp-phuket) .gallery-controls { position:absolute;z-index:4;right:18px;bottom:18px;display:flex;align-items:center;gap:5px;padding:5px;border-radius:100px;background:rgba(12,33,27,.88);color:#fff;box-shadow:0 4px 18px #091b153d; }
:is(.rp-timeline,.rp-phuket) .gallery-controls button { display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid #ffffff4d;border-radius:50%;background:#ffffff1c;color:white;font-size:21px;line-height:1;cursor:pointer; }
:is(.rp-timeline,.rp-phuket) .gallery-controls button:hover,
:is(.rp-timeline,.rp-phuket) .gallery-controls button:focus-visible { background:#cfb579;color:#132d21;outline:2px solid white; }
:is(.rp-timeline,.rp-phuket) .gallery-count { min-width:42px;text-align:center;font-size:12px;font-weight:700;font-variant-numeric:tabular-nums; }
:is(.rp-timeline,.rp-phuket) .detail-visual .gallery-slide { position:relative;z-index:1;width:100%;height:100%;object-fit:contain; }
:is(.rp-timeline,.rp-phuket) .detail-visual .gallery-controls { left:50%;right:auto;bottom:48px;transform:translateX(-50%); }
:is(.rp-timeline,.rp-phuket) .detail-visual figcaption { z-index:2; }
:is(.rp-timeline,.rp-phuket) .presentation-tabs { position:sticky;top:-34px;z-index:3;display:flex;gap:18px;margin:18px 0 23px;border-bottom:1px solid #dce4dc;background:#fff; }
:is(.rp-timeline,.rp-phuket) .presentation-tabs::after { content:"";position:absolute;left:0;bottom:-1px;width:var(--tab-width,0px);height:3px;border-radius:3px 3px 0 0;background:#bd9d5a;opacity:0;transform:translateX(var(--tab-x,0px));transition:transform .32s cubic-bezier(.22,1,.36,1),width .32s cubic-bezier(.22,1,.36,1),opacity .2s ease;pointer-events:none; }
:is(.rp-timeline,.rp-phuket) .presentation-tabs.is-positioned::after { opacity:1; }
:is(.rp-timeline,.rp-phuket) .presentation-tabs button { flex:0 0 auto;min-height:49px;padding:9px 3px 11px;border:0;border-radius:0;background:transparent;color:#718078;font-size:13px;font-weight:650;line-height:1.3;white-space:nowrap;cursor:pointer;transition:color .22s ease,background-color .22s ease; }
:is(.rp-timeline,.rp-phuket) .presentation-tabs button:hover { color:#173a2f; }
:is(.rp-timeline,.rp-phuket) .presentation-tabs button[aria-selected=true] { color:#173a2f;font-weight:750; }
:is(.rp-timeline,.rp-phuket) .presentation-tabs button:focus-visible { outline:2px solid #c9a765;outline-offset:-3px; }
:is(.rp-timeline,.rp-phuket) .presentation-panel { min-height:180px; }
:is(.rp-timeline,.rp-phuket) .presentation-panel:not([hidden]) { animation:presentation-panel-in .28s ease-out both; }
@keyframes presentation-panel-in { from { opacity:0;transform:translateY(7px); } to { opacity:1;transform:translateY(0); } }
:is(.rp-timeline,.rp-phuket) .presentation-panel>h3 { margin:0 0 15px;font-size:13px;letter-spacing:.03em; }
:is(.rp-timeline,.rp-phuket) .apartment-summary { margin:0 0 18px;color:#213d30;font-size:16px;font-weight:700;line-height:1.5; }
:is(.rp-timeline,.rp-phuket) .plan-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px; }
:is(.rp-timeline,.rp-phuket) .plan-tile { display:flex;flex-direction:column;gap:8px;min-width:0;padding:8px;border:1px solid #dce4db;border-radius:6px;background:#f8faf7;color:#173a2f;text-align:left;cursor:pointer; }
:is(.rp-timeline,.rp-phuket) .plan-tile:hover,:is(.rp-timeline,.rp-phuket) .plan-tile:focus-visible { border-color:#bda469;outline:2px solid #bda469; }
:is(.rp-timeline,.rp-phuket) .plan-tile img { display:block;width:100%;height:154px;object-fit:contain;background:#fff; }
:is(.rp-timeline,.rp-phuket) .plan-tile span { padding:0 3px 3px;font-size:11px;font-weight:700; }
:is(.rp-timeline,.rp-phuket) .plans-note,
:is(.rp-timeline,.rp-phuket) .plans-empty,
:is(.rp-timeline,.rp-phuket) .map-note { margin-top:16px;color:#64756a;font-size:12px;line-height:1.6; }
:is(.rp-timeline,.rp-phuket) .project-map { width:100%;height:min(360px,48dvh);min-height:240px;border:1px solid #dce4db;border-radius:7px;overflow:hidden;background:#e7ede5; }
:is(.rp-timeline,.rp-phuket) .project-map iframe { display:block;width:100%;height:100%;border:0; }
:is(.rp-timeline,.rp-phuket) .map-placeholder { display:flex;flex-direction:column;justify-content:center;min-height:240px;padding:25px;border:1px solid #dce4db;border-radius:7px;background:linear-gradient(135deg,#e6ede6,#f5f4ed); }
:is(.rp-timeline,.rp-phuket) .map-placeholder strong { color:#16392b;font-size:28px; }
:is(.rp-timeline,.rp-phuket) .map-placeholder p { margin-top:12px;color:#536a5c;font-size:13px;line-height:1.6; }
.rp-timeline .project-card--featured .project-visual { z-index:0; }
.rp-timeline .project-card--featured::before { z-index:1;pointer-events:none; }
.rp-timeline .project-card--featured .card-content { position:relative;z-index:2;pointer-events:none; }
.rp-timeline .project-card--featured .card-content button,
.rp-timeline .project-card--featured .card-content a,
.rp-timeline .project-card--featured .card-content summary { pointer-events:auto; }
.rp-phuket .card-image .gallery-surface { z-index:0; }
.rp-phuket .card-image::after { z-index:1;pointer-events:none; }
.rp-phuket .card-image .gallery-controls { z-index:3; }
.rp-phuket .card-image .view-label,
.rp-phuket .card-image .location-label,
.rp-phuket .card-image .image-note { z-index:2; }
@media(max-width:850px) {
 :is(.rp-timeline,.rp-phuket) .presentation-tabs { top:0;margin-top:12px; }
 :is(.rp-timeline,.rp-phuket) .detail-visual .gallery-controls { bottom:43px; }
 :is(.rp-timeline,.rp-phuket) .gallery-controls button { width:36px;height:36px; }
}
@media(max-width:390px) {
 :is(.rp-timeline,.rp-phuket) .plan-grid { grid-template-columns:1fr 1fr;gap:7px; }
 :is(.rp-timeline,.rp-phuket) .plan-tile img { height:116px; }
 :is(.rp-timeline,.rp-phuket) .presentation-tabs button { font-size:12px; }
}

/* The old full-card title overlay would capture photo carousel interactions. */
.rp-timeline .card-open::after { content:none; }
@media(max-width:430px) {
 :is(.rp-timeline,.rp-phuket) .presentation-tabs { display:grid;grid-template-columns:1.1fr .8fr 1.6fr;gap:4px; }
 :is(.rp-timeline,.rp-phuket) .presentation-tabs button { min-width:0;min-height:55px;padding:7px 2px 9px;white-space:normal;text-align:center; }
}
@media(prefers-reduced-motion:reduce) {
 :is(.rp-timeline,.rp-phuket) .presentation-tabs::after,
 :is(.rp-timeline,.rp-phuket) .presentation-tabs button { transition:none; }
 :is(.rp-timeline,.rp-phuket) .presentation-panel:not([hidden]) { animation:none; }
}
.rp-timeline .project-visual .image-disclosure { left:12px;right:auto; }
.rp-timeline .project-card--featured .project-visual .image-disclosure { display:none; }
:is(.rp-timeline,.rp-phuket) [data-gallery] { touch-action:pan-y; }

/* A project can be sent to an agent with its name and a direct presentation link. */
:is(.rp-timeline,.rp-phuket) .share-card { position:absolute;right:0;top:0;z-index:2;display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid #d6e0d6;border-radius:50%;background:#f5f8f3;color:#275444;cursor:pointer; }
:is(.rp-timeline,.rp-phuket) .share-card svg { width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round; }
:is(.rp-timeline,.rp-phuket) .share-card:hover { border-color:#bca265;background:#f3eddf;color:#705827; }
:is(.rp-timeline,.rp-phuket) .share-card:focus-visible,
:is(.rp-timeline,.rp-phuket) .project-share-actions button:focus-visible { outline:2px solid #bd9d5a;outline-offset:3px; }
.rp-timeline .card-meta,.rp-phuket .card-overline { position:relative;z-index:2;min-height:40px;padding-right:48px; }
.rp-timeline .project-card--featured .share-card,.rp-phuket .featured .share-card { border-color:#a88e5b;background:#19362bc9;color:#f3dfaf;pointer-events:auto; }
:is(.rp-timeline,.rp-phuket) .project-share-actions { display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:2px 16px;margin:10px 0 0; }
:is(.rp-timeline,.rp-phuket) .project-share-actions button { min-height:36px;padding:4px 0;border:0;border-bottom:1px solid transparent;border-radius:0;background:transparent;color:#2b5442;font-size:11px;font-weight:700;line-height:1.35;cursor:pointer; }
:is(.rp-timeline,.rp-phuket) .project-share-actions button:hover { border-bottom-color:currentColor; }
:is(.rp-timeline,.rp-phuket) .project-share-actions [data-share-status] { flex-basis:100%;color:#486e54;font-size:11px;line-height:1.4; }
:is(.rp-timeline,.rp-phuket) .project-share-actions [data-share-status]:empty { display:none; }
.rp-timeline .upcoming-dialog .project-share-actions { width:100%;margin:10px 0 0; }
:is(.rp-timeline,.rp-phuket) .project-share-toast { position:fixed;left:50%;bottom:24px;z-index:50;max-width:min(420px,calc(100vw - 32px));margin:0;padding:13px 18px;border-radius:9px;background:#153b2d;color:#fff;box-shadow:0 12px 30px #08231d40;font-size:12px;font-weight:650;line-height:1.4;text-align:center;opacity:0;transform:translate(-50%,12px);transition:opacity .22s ease,transform .22s ease;pointer-events:none; }
:is(.rp-timeline,.rp-phuket) .project-share-toast.is-visible { opacity:1;transform:translate(-50%,0); }
@media(prefers-reduced-motion:reduce) { :is(.rp-timeline,.rp-phuket) .project-share-toast { transition:none; } }

/* r20: project dialog tabs as a segmented control (owner decision 2026-09-27) */
:is(.rp-timeline,.rp-phuket) .presentation-tabs{position:sticky;top:-34px;z-index:3;isolation:isolate;display:flex;gap:0;margin:16px 0 22px;padding:6px 0;border:0;border-bottom:0;background:#fff}
:is(.rp-timeline,.rp-phuket) .presentation-tabs::before{content:"";position:absolute;left:0;right:0;top:6px;bottom:6px;border-radius:999px;background:#eef1ea;z-index:-1}
:is(.rp-timeline,.rp-phuket) .presentation-tabs::after{display:none}
:is(.rp-timeline,.rp-phuket) .presentation-tabs button{flex:1 1 auto;min-width:0;min-height:38px;margin:4px 3px;padding:8px 14px;border:0;border-radius:999px;background:transparent;color:#5f6d64;font-size:13px;font-weight:600;line-height:1.25;white-space:nowrap;text-align:center;cursor:pointer;transition:background-color .22s ease,color .22s ease,box-shadow .22s ease}
:is(.rp-timeline,.rp-phuket) .presentation-tabs button:first-child{margin-left:4px}
:is(.rp-timeline,.rp-phuket) .presentation-tabs button:last-child{margin-right:4px}
:is(.rp-timeline,.rp-phuket) .presentation-tabs button:hover{color:#173a2f}
:is(.rp-timeline,.rp-phuket) .presentation-tabs button[aria-selected=true]{background:#fff;color:#173a2f;font-weight:700;box-shadow:0 1px 2px rgba(17,40,32,.12),0 3px 10px rgba(17,40,32,.08)}
:is(.rp-timeline,.rp-phuket) .presentation-tabs button:focus-visible{outline:2px solid #c9a765;outline-offset:2px}
@media (max-width:640px){
:is(.rp-timeline,.rp-phuket) .presentation-tabs{top:0;display:flex;gap:0;margin:12px 0 18px;padding:5px 0}
:is(.rp-timeline,.rp-phuket) .presentation-tabs::before{top:5px;bottom:5px}
:is(.rp-timeline,.rp-phuket) .presentation-tabs button{flex:1 1 auto;min-height:36px;margin:3px 2px;padding:7px 10px;font-size:12px;white-space:nowrap;transition:none}
:is(.rp-timeline,.rp-phuket) .presentation-tabs button:first-child{margin-left:3px}
:is(.rp-timeline,.rp-phuket) .presentation-tabs button:last-child{margin-right:3px}
}

/* r21: price line in the dialog header; compact action panel (owner decision 2026-09-27) */
:is(.rp-timeline,.rp-phuket) .detail-price-line{display:flex;align-items:baseline;gap:8px;margin:-6px 0 14px;color:var(--muted);font-size:12px}
:is(.rp-timeline,.rp-phuket) .detail-price-line strong{color:var(--green);font-size:19px;letter-spacing:-.02em;line-height:1.1}
:is(.rp-timeline,.rp-phuket) .detail-action{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 34px 14px}
:is(.rp-timeline,.rp-phuket) .detail-action>.button{order:1;width:auto;flex:0 0 auto;min-height:44px;margin:0;padding:0 24px;white-space:nowrap}
:is(.rp-timeline,.rp-phuket) .detail-action .project-share-actions{order:-1;flex-direction:column;align-items:flex-start;gap:0;margin:0}
:is(.rp-timeline,.rp-phuket) .detail-action .project-share-actions button{min-height:26px;padding:0;font-size:11px;line-height:1.2;white-space:nowrap}
:is(.rp-timeline,.rp-phuket) .detail-action .project-share-actions [data-share-status]{flex-basis:auto}
@media (max-width:640px){
:is(.rp-timeline,.rp-phuket) .detail-action{flex-direction:column;align-items:stretch;gap:6px;padding:12px 22px 14px}
:is(.rp-timeline,.rp-phuket) .detail-action>.button{order:0;width:100%}
:is(.rp-timeline,.rp-phuket) .detail-action .project-share-actions{order:1;flex-direction:row;justify-content:center;gap:2px 20px}
:is(.rp-timeline,.rp-phuket) .detail-action .project-share-actions button{min-height:32px}
:is(.rp-timeline,.rp-phuket) .detail-price-line{margin:-4px 0 12px}
}

/* r22: share button with a menu in the project dialog (owner decision 2026-09-27) */
:is(.rp-timeline,.rp-phuket) .detail-action .project-share-actions.share-root{position:relative;flex-direction:row;align-items:center;gap:0}
:is(.rp-timeline,.rp-phuket) .detail-action .project-share-actions .share-trigger{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 16px;border:1px solid #cfd8cf;border-radius:999px;background:#fff;color:#173a2f;font-size:12px;font-weight:700;line-height:1;white-space:nowrap;cursor:pointer;transition:border-color .18s ease,background-color .18s ease}
:is(.rp-timeline,.rp-phuket) .detail-action .project-share-actions .share-trigger:hover{border-color:#173a2f;border-bottom-color:#173a2f}
:is(.rp-timeline,.rp-phuket) .detail-action .project-share-actions .share-trigger[aria-expanded=true]{background:#eef1ea;border-color:#173a2f}
:is(.rp-timeline,.rp-phuket) .detail-action .project-share-actions .share-trigger .chev{font-size:10px;opacity:.7}
:is(.rp-timeline,.rp-phuket) .detail-action .project-share-actions .share-menu{position:absolute;left:0;bottom:calc(100% + 8px);z-index:6;min-width:250px;padding:6px;border:1px solid #e2e7e0;border-radius:12px;background:#fff;box-shadow:0 12px 32px rgba(17,40,32,.16);white-space:nowrap}
:is(.rp-timeline,.rp-phuket) .detail-action .project-share-actions .share-menu[hidden]{display:none}
:is(.rp-timeline,.rp-phuket) .detail-action .project-share-actions .share-menu [role=menuitem]{display:flex;align-items:center;gap:10px;width:100%;min-height:40px;margin:0;padding:0 10px;border:0;border-radius:8px;background:transparent;color:#173a2f;font-size:13px;font-weight:600;line-height:1.2;text-align:left;text-decoration:none;cursor:pointer}
:is(.rp-timeline,.rp-phuket) .detail-action .project-share-actions .share-menu [role=menuitem]:hover,:is(.rp-timeline,.rp-phuket) .detail-action .project-share-actions .share-menu [role=menuitem]:focus-visible{background:#eef1ea;border-bottom-color:transparent;outline:none}
:is(.rp-timeline,.rp-phuket) .detail-action .project-share-actions .share-menu [role=menuitem].is-done{color:#2b5442}
:is(.rp-timeline,.rp-phuket) .detail-action .project-share-actions .share-menu .ic{width:18px;text-align:center;color:#a8894c;font-size:14px}
:is(.rp-timeline,.rp-phuket) .detail-action .project-share-actions.share-root [data-share-status]{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (max-width:640px){
:is(.rp-timeline,.rp-phuket) .detail-action .project-share-actions.share-root{justify-content:center}
:is(.rp-timeline,.rp-phuket) .detail-action .project-share-actions .share-menu{left:50%;transform:translateX(-50%)}
}

/* r23: one filter standard for both hubs (owner decision 2026-09-27) */
:is(.rp-timeline,.rp-phuket) .filter-standard{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:end;gap:12px 14px;padding:12px 0 14px}
:is(.rp-timeline,.rp-phuket) .filter-standard .filter-field{display:flex;flex-direction:column;gap:5px;min-width:0;margin:0}
:is(.rp-timeline,.rp-phuket) .filter-standard .filter-field span{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:#80652e;font-weight:700}
:is(.rp-timeline,.rp-phuket) .filter-standard .filter-field{position:relative}
:is(.rp-timeline,.rp-phuket) .filter-standard .filter-field::after{content:"";position:absolute;right:15px;bottom:19px;width:7px;height:7px;border-right:1.6px solid #173a2f;border-bottom:1.6px solid #173a2f;transform:rotate(45deg);pointer-events:none}
:is(.rp-timeline,.rp-phuket) .filter-standard select{width:100%;min-height:42px;margin:0;padding:0 34px 0 12px;border:1px solid #cfd8cf;border-radius:10px;background:#fff;color:#173a2f;font-size:13px;font-weight:600;line-height:1.2;appearance:none;-webkit-appearance:none;cursor:pointer}
:is(.rp-timeline,.rp-phuket) .filter-standard select:focus-visible{outline:2px solid #c9a765;outline-offset:2px}
:is(.rp-timeline,.rp-phuket) .filter-standard .filter-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px 14px;padding-bottom:9px;white-space:nowrap}
:is(.rp-timeline,.rp-phuket) .filter-standard #filter-count{margin:0;font-size:12px;font-weight:600;color:#5f6d64}
:is(.rp-timeline,.rp-phuket) .filter-standard .filter-reset{min-height:32px;margin:0;padding:0 4px;border:0;border-radius:0;background:none;color:#2b5442;font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
:is(.rp-timeline,.rp-phuket) .filter-standard .filter-reset:disabled{opacity:.4;text-decoration:none;cursor:default}
:is(.rp-timeline,.rp-phuket) .filter-standard #share-selection{display:inline-flex;align-items:center;gap:8px;min-height:38px;margin:0;padding:0 16px;border:1px solid #173a2f;border-radius:999px;background:#fff;color:#173a2f;font-size:12px;font-weight:700;line-height:1;cursor:pointer;transition:background-color .18s ease}
:is(.rp-timeline,.rp-phuket) .filter-standard #share-selection:hover{background:#eef1ea}
:is(.rp-timeline,.rp-phuket) .filter-standard #share-selection:disabled{opacity:.4;cursor:default}
:is(.rp-timeline,.rp-phuket) .filter-standard #selection-share-status{margin:0;font-size:11px;color:#486e54;white-space:normal}
:is(.rp-timeline,.rp-phuket) .filter-standard #selection-share-status:empty{display:none}
:is(.rp-timeline,.rp-phuket) .filter-standard .sr-only{position:absolute;width:1px;height:1px;margin:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (max-width:640px){
:is(.rp-timeline,.rp-phuket) .filter-standard{grid-template-columns:1fr 1fr;gap:10px;padding:10px 0 12px}
:is(.rp-timeline,.rp-phuket) .filter-standard .filter-field:nth-child(4){grid-column:1 / -1}
:is(.rp-timeline,.rp-phuket) .filter-standard select{min-height:40px}
:is(.rp-timeline,.rp-phuket) .filter-standard .filter-field::after{bottom:18px}
:is(.rp-timeline,.rp-phuket) .filter-standard .filter-meta{grid-column:1 / -1;justify-content:space-between;gap:8px 12px;padding-bottom:0}
}
/* r29: language switcher and indicative euro prices (EN/FR hubs) */
.rp-timeline .header-tools{display:flex;align-items:center;gap:26px}
.rp-timeline .lang-switch{display:flex;align-items:center;gap:2px;font-size:11px;font-weight:700;letter-spacing:.08em}
.rp-timeline .lang-switch a{display:inline-block;padding:7px 8px;border-radius:999px;color:#c9d4cc;text-decoration:none}
.rp-timeline .lang-switch a:hover{color:#fff}
.rp-timeline .lang-switch a[aria-current="page"]{color:#fff;background:rgba(255,255,255,.14)}
.rp-timeline .project-price .project-price-eur{margin-top:3px;font-size:13px;font-weight:600;color:#56675c}
.rp-timeline .project-card--featured .project-price .project-price-eur{color:#dfe7e0}
.rp-timeline .detail-price-eur{font-size:12px;font-weight:600;color:var(--green)}
@media(max-width:600px){.rp-timeline .header-tools{gap:8px}.rp-timeline .lang-switch a{padding:6px 5px}}
/* r30: new tall project covers (2300x2000): keep the top of the tower in the wide tablet and phone card frames */
@media(max-width:850px){.rp-timeline .project-card:is([data-id="once-wongamat"],[data-id="riviera-california"],[data-id="aquarous-jomtien"],[data-id="copacabana-coral-reef"],[data-id="skypark-lucean"]) .project-visual .gallery-slide:first-child{object-position:50% 20%}}
/* r33: tablet and narrow-window widths (owner, 2026-10-02) — selects stay readable: count, reset and link move to their own row;
   the project window keeps its buttons inside the narrow column */
@media (min-width:641px) and (max-width:1279px){
.rp-timeline .filter-standard{grid-template-columns:repeat(4,minmax(0,1fr))}
.rp-timeline .filter-standard .filter-meta{grid-column:1 / -1;padding-bottom:0}
.rp-timeline .filter-standard #share-selection{margin-left:auto}
}
@media (min-width:641px) and (max-width:900px){.rp-timeline .filter-standard{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:851px) and (max-width:1200px){
.rp-timeline .detail-action{flex-direction:column;align-items:stretch;gap:6px;padding:12px 22px 14px}
.rp-timeline .detail-action>.button{order:0;width:100%;padding:8px 16px;line-height:1.2;white-space:normal;text-align:center}
.rp-timeline .detail-action .project-share-actions.share-root{order:1;justify-content:center}
.rp-timeline .detail-action .project-share-actions .share-menu{left:50%;transform:translateX(-50%)}
}
.rp-timeline .hub-links{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin-top:14px}
.rp-timeline .cross-hub-link{display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--green);font-size:12px;font-weight:700;letter-spacing:.02em;text-decoration:none;transition:border-color .18s,background .18s,color .18s}
.rp-timeline .cross-hub-link::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--gold)}
.rp-timeline .cross-hub-link:hover,.rp-timeline .cross-hub-link:focus-visible{border-color:var(--gold);background:var(--pale);color:var(--dark)}
@media (max-width:480px){.rp-timeline .cross-hub-link{width:100%;justify-content:center}}

/* r50: the street-banner look — the coastline panorama and the agent from the printed banner (2026-10-09).
   The figure stands on the hero's bottom edge, above the dark gradient and below the text. On wide screens she
   sits at ~70% of the width but never closer than 640px to the start of the text column; on tablets and phones
   the lead column narrows and she moves to the right edge, sized so that neither the lead nor the button touch her. */
.rp-timeline .hero-coast { object-position:100% 50%; }
.rp-timeline .hero-agent { position:absolute; z-index:-1; bottom:0; left:min(max(calc(70% - 130px), calc(max(24px, 50% - 620px) + 640px)), calc(100% - 250px)); height:92%; width:auto; max-width:none; pointer-events:none; }
@media (max-width:900px) {
 .rp-timeline .hero-lead { max-width:min(580px,58%); }
 .rp-timeline .hero-agent { left:auto; right:0; height:min(86%, calc((42vw - 26px) * 1.8)); }
}
@media (max-width:600px) {
 .rp-timeline .hero-lead { max-width:60%; }
 .rp-timeline .hero-agent { right:-12px; height:min(92%, 64.7vw, calc((100vw - 232px) * 1.8), 300px); }
 .rp-timeline .hero-coast { object-position:84% 50%; }
 .rp-timeline .hero::before { background:linear-gradient(90deg,rgba(11,31,25,.94),rgba(11,31,25,.8) 55%,rgba(11,31,25,.5)); }
}

/* r51: a long group word (EN "Completed", 195 px at 36px) left its note no room at 320–330 px and pushed the page
   16 px sideways. The note now drops under the word when less than 70 px would remain beside it. */
.rp-timeline .year-heading { flex-wrap:wrap; row-gap:6px; }
.rp-timeline .year-heading p { flex:1 1 70px; }
