/* Public project collection: spacious editorial pages, compact browsable directory. */
.pc-page {padding-top:var(--public-header-height); background:var(--public-paper);}
.pc-page * {min-width:0;}
.pc-page h1,.pc-page h2,.pc-page h3 {font-family:var(--public-serif);line-height:1.12;font-weight:400;}
.pc-page h1 {font-size:clamp(2.7rem,4.8vw,5.6rem);margin:18px 0 24px;letter-spacing:-.035em;}
.pc-page h2 {font-size:clamp(2rem,3.2vw,3.7rem);margin:12px 0 24px;letter-spacing:-.025em;}
.pc-page h3 {font-size:1.65rem;}
.pc-container {width:min(1440px,calc(100% - 96px));margin-inline:auto;}
.pc-page [id] {scroll-margin-top:calc(var(--public-header-height) + 24px);}
.pc-directory-hero {background:var(--public-navy-900);color:white;padding:64px 0 76px;}
.pc-directory-hero h1 {max-width:920px;}
.pc-directory-hero p:not(.public-kicker) {max-width:700px;color:#d2dde4;font-size:1.12rem;}
.pc-directory-content {padding-bottom:84px;}
.pc-filters {position:relative;margin-top:-24px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;padding:28px;background:white;border:1px solid #dce1e4;box-shadow:0 16px 40px #071d2d0c;border-radius:12px;}
.pc-page label {display:flex;flex-direction:column;gap:8px;font-size:.9rem;font-weight:600;}
.pc-page input:not([type=checkbox]),.pc-page select,.pc-page textarea {width:100%;min-height:50px;border:1px solid #cbd3d8;border-radius:7px;padding:12px 17px;background:white;color:var(--public-ink);font:inherit;font-size:1rem;font-weight:400;}
.pc-page select {appearance:none;padding-right:48px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%2309263a' stroke-width='1.8' d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 17px center;}
.pc-page select option {padding:12px 18px;}
.pc-page textarea {resize:vertical;line-height:1.6;}
.pc-search-label {grid-column:span 2;}
.pc-filter-actions {grid-column:span 2;display:flex;align-items:end;gap:24px;flex-wrap:wrap;}
.pc-filter-actions>a {align-self:center;text-decoration:underline;text-underline-offset:4px;font-size:.95rem;}
.pc-results-heading {display:flex;align-items:center;justify-content:space-between;gap:24px;margin:40px 0 24px;}
.pc-results-heading h2 {font:500 1.2rem var(--public-sans);margin:0;}
.pc-results-heading>span {font-size:.9rem;color:var(--public-muted);}
.pc-project-grid,.pc-home-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;align-items:stretch;}
/* Every card uses the tallest natural card height, including across separate rows. */
.pc-project-grid {grid-auto-rows:1fr;}
.pc-project-grid>.pc-project-card {align-self:stretch;}
/* A full-width anonymous contact form has its own natural-height final row. */
.pc-project-grid--populated:has(>.pc-cta-span-3) {grid-template-rows:repeat(var(--pc-project-rows-desktop),1fr) auto;}
.pc-project-card,.pc-home-card {border:1px solid #dce1e4;background:white;border-radius:12px;overflow:hidden;box-shadow:0 8px 30px #071d2d07;transition:box-shadow .2s,transform .2s;}
.pc-project-card:hover,.pc-home-card:hover {transform:translateY(-4px);box-shadow:0 15px 40px #071d2d16;}
.pc-card-link,.pc-home-card>a {display:flex;flex-direction:column;height:100%;}
/* The frame owns its height; intrinsic portrait dimensions cannot enlarge it. */
.pc-card-image {position:relative;flex:0 0 auto;min-height:0;background:var(--public-navy-850);aspect-ratio:3/2;overflow:hidden;}
.pc-card-image img {position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s;}
.pc-project-card:hover .pc-card-image img,.pc-home-card:hover .pc-card-image img {transform:scale(1.025);}
.pc-card-location {position:absolute;left:18px;bottom:18px;background:#071d2de8;color:white;border:1px solid #ffffff44;border-radius:4px;padding:6px 12px;font-size:.875rem;}
.pc-card-body {padding:24px;display:flex;flex-direction:column;flex:1;}
.pc-card-body>p {color:var(--public-muted);font-size:1rem;margin:16px 0;}
.pc-card-body .public-project-identity {gap:14px;align-items:center;}
.pc-card-body .public-project-identity__logo {width:60px;height:65px;flex:0 0 60px;}
.pc-card-body .public-project-identity h2 {font-size:1.65rem;letter-spacing:-.02em;margin:0;}
.pc-category-tags {display:flex;flex-wrap:wrap;gap:6px;margin-bottom:25px;}
.pc-category-tags span {background:#f0f4f5;border-radius:4px;padding:4px 8px;font-size:.875rem;}
.pc-card-bottom {margin-top:auto;padding-top:18px;border-top:1px solid #e6eaec;display:flex;align-items:center;justify-content:space-between;gap:12px;}
.pc-card-bottom small {display:block;color:var(--public-muted);font-size:.875rem;}
.pc-card-bottom strong {display:block;font-family:var(--public-serif);font-size:1.65rem;font-weight:400;}
.pc-arrow {display:grid;place-items:center;flex:0 0 43px;height:43px;border-radius:50%;color:var(--public-copper-deep);border:1px solid #d5b296;font-size:1.4rem;}
.pc-card-cta {font-size:.9rem;font-weight:600;margin-top:16px;color:var(--public-copper-deep);}
.pc-pagination {display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:24px;margin-top:44px;}
.pc-pagination a {border:1px solid #cbd3d8;border-radius:6px;padding:12px 18px;background:white;}
.pc-empty {text-align:center;padding:60px 20px;background:#f1f5f6;border-radius:12px;}
.pc-missing {padding-top:180px;min-height:70vh;}
.pc-hero {position:relative;min-height:680px;min-height:min(880px,calc(100svh - var(--public-header-height)));display:flex;align-items:center;background:var(--public-navy-900);color:white;isolation:isolate;}
.pc-hero-image,.pc-hero-shade {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;}
.pc-hero-shade {z-index:-1;background:linear-gradient(90deg,#03121deb 0%,#03121d9c 48%,#03121d0d 100%),linear-gradient(0deg,#03121dba,transparent 45%);}
.pc-hero-content {padding-top:48px;padding-bottom:154px;}
.pc-hero-content h1 {max-width:880px;}
.pc-back-link {display:inline-block;margin-bottom:32px;color:#e6edf2!important;font-size:.95rem;}
.pc-hero-logo .public-project-identity h2 {font:500 1rem var(--public-sans);letter-spacing:.07em;margin:0;max-width:220px;}
.pc-hero-logo .public-project-identity {gap:22px;margin:20px 0;}
.pc-hero-logo .public-project-identity__logo {height:85px;width:110px;flex:0 0 110px;}
.pc-hero-price {position:absolute;right:max(48px,calc((100vw - 1440px)/2));bottom:36px;text-align:right;display:flex;flex-direction:column;gap:3px;border-right:2px solid var(--public-copper-soft);padding-right:22px;}
.pc-hero-price>span {font-size:.95rem;color:#e3e9ed;}
.pc-hero-price>strong {font:400 clamp(1.8rem,2.6vw,2.7rem) var(--public-serif);}
.pc-hero-actions {display:flex;align-items:center;flex-wrap:wrap;gap:28px;margin-top:32px;}
.pc-light-link {border-bottom:1px solid #ffffff85;padding-bottom:6px;font-size:1rem;}
.pc-hero-project-name {font-size:1.3rem;}
.pc-section-nav {display:flex;justify-content:center;flex-wrap:wrap;gap:18px 38px;padding:22px 24px;border-bottom:1px solid #dee3e6;background:white;font-size:.95rem;}
.pc-section-nav a {padding:4px 0;border-bottom:1px solid transparent;}
.pc-section-nav a:hover {border-color:var(--public-copper);}
.pc-intro {display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;padding-block:90px;}
.pc-story {font-size:1.2rem;line-height:1.8;margin:0;}
.pc-home-facts {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:32px 0;}
.pc-home-facts>div {border-top:1px solid #d7dfe3;padding-top:18px;}
.pc-home-facts dt {font-size:.875rem;color:var(--public-muted);}
.pc-home-facts dd {font:400 1.8rem var(--public-serif);margin:8px 0 0;}
.pc-section-heading {max-width:850px;margin-bottom:36px;}
.pc-section-heading>p:not(.public-kicker) {font-size:1.08rem;color:var(--public-muted);}
.pc-gallery-section {padding-bottom:70px;}
.pc-gallery {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;}
.pc-gallery figure,.pc-plan-grid figure {margin:0;}
.pc-gallery a {display:block;position:relative;background:#eaf0f3;aspect-ratio:1.5;overflow:hidden;border-radius:6px;}
.pc-gallery img {height:100%;width:100%;object-fit:cover;}
.pc-gallery a>span {position:absolute;right:14px;bottom:14px;background:#071d2dde;color:white;border:1px solid #ffffff66;border-radius:50%;width:38px;height:38px;display:grid;place-items:center;}
.pc-gallery figcaption,.pc-plan-grid figcaption {font-size:.875rem;color:var(--public-muted);padding:10px 0;}
.pc-fine-print {font-size:.875rem;line-height:1.65;color:var(--public-muted);margin-top:22px;}
.pc-amenities {background:var(--public-navy-900);color:white;padding:70px 0;}
.pc-amenities ul {list-style:none;padding:0;margin:32px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 40px;}
.pc-amenities li {display:flex;align-items:center;gap:14px;padding:20px 0;border-top:1px solid #ffffff24;font-size:1rem;}
.pc-amenities li>span {font-size:1.6rem;color:var(--public-copper-soft);}
.pc-residences {padding-block:85px;}
.pc-home-card h3 {margin:0;font-size:1.7rem;}
.pc-plans {padding-block:35px 85px;}
.pc-plan-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;}
.pc-plan-grid a {display:block;border:1px solid #d9e0e4;padding:18px;border-radius:8px;background:white;}
.pc-plan-grid img {height:340px;width:100%;object-fit:contain;}
.pc-plan-grid a>span {display:block;text-align:center;font-size:.95rem;padding-top:14px;color:var(--public-copper-deep);}
.pc-region-capsule {display:grid;grid-template-columns:1.3fr 1fr;gap:80px;align-items:center;padding:70px;margin-bottom:85px;background:#edf2f3;border-radius:10px;}
.pc-region-mark {border-left:1px solid #b5c5ce;padding-left:50px;}
.pc-region-mark>span {font-size:.9rem;letter-spacing:.12em;color:var(--public-copper-deep);}
.pc-region-mark>p {font:italic 2.4rem/1.3 var(--public-serif);}
.pc-contact {background:var(--public-navy-850);color:white;padding:90px 0;}
.pc-contact-grid {display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start;}
/* Keep the agent card and form on the same baseline, whichever content is taller. */
.pc-contact-grid:has(.pa-contact-card) {align-items:end;}
.pc-contact-copy {padding-top:30px;}
.pc-contact-copy>p:not(.public-kicker) {color:#cddbe4;font-size:1.12rem;}
.pc-contact-reference {border-left:2px solid var(--public-copper-soft);padding-left:22px;margin-top:40px;display:flex;flex-direction:column;gap:10px;color:#d7e2e9;font-size:1rem;}
.pc-contact-reference strong {color:white;font:400 1.6rem var(--public-serif);}
.pc-form-panel {padding:32px;background:white;border-radius:12px;color:var(--public-ink);}
.pc-contact-form {display:flex;flex-direction:column;gap:20px;}
.pc-contact-form .pc-fine-print {margin:0;overflow-wrap:anywhere;}
.pc-contact-form a {text-decoration:underline;}
.pc-page .pc-consent {display:flex;flex-direction:row;gap:12px;font-size:.9rem;line-height:1.6;font-weight:400;align-items:flex-start;}
.pc-consent input {width:20px;height:20px;flex:0 0 20px;margin-top:3px;accent-color:var(--public-navy-800);}
.pc-honeypot {position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);}
.pc-alert {border-radius:7px;padding:18px;margin-bottom:24px;}
.pc-alert h3 {margin:0 0 12px;}
.pc-alert-success {background:#edf7f1;border:1px solid #a9cfb8;color:#234e36;}
.pc-alert-error {background:#fff0ec;border:1px solid #e5b7aa;color:#78290c;}
.pc-page .public-button {font-size:.9rem;letter-spacing:.035em;}
.public-site .pc-page .public-button--copper {color:#fff;background:linear-gradient(145deg,#9d562f,#81401f);}
.public-site .pc-page .public-button--copper:hover {background:linear-gradient(145deg,#945027,#753a1c);}
.pc-related {padding-block:55px;text-align:center;}
.pc-lightbox {width:min(1300px,96vw);max-height:95svh;padding:54px 20px 14px;border:0;border-radius:10px;background:var(--public-navy-900);color:white;}
.pc-lightbox::backdrop {background:#03121de8;}
.pc-lightbox>button {position:absolute;top:12px;right:18px;min-height:36px;background:white;color:var(--public-ink);border:0;border-radius:5px;padding:6px 14px;font:inherit;cursor:pointer;}
.pc-lightbox img {max-height:77svh;max-width:100%;object-fit:contain;margin:auto;}
.pc-lightbox p {text-align:center;margin:12px 0 0;}
.pc-region-story {max-width:920px;padding-block:65px;}
.pc-region-story>p:not(.pc-fine-print) {font-size:1.2rem;line-height:1.8;}
.pc-region-projects {padding-bottom:80px;}
.pc-region-projects>.public-button {margin-top:32px;}
.pc-selection-card {background:var(--public-navy-850);color:white;border-radius:12px;padding:38px;display:grid;gap:38px;align-items:center;border-top:3px solid var(--public-copper);position:relative;}
.pc-cta-span-3 {grid-column:span 3;grid-template-columns:1fr 1.25fr;}
.pc-cta-span-2 {grid-column:span 2;grid-template-columns:1fr;}
.pc-cta-span-1 {grid-column:span 1;grid-template-columns:1fr;padding:26px;gap:24px;}
.pc-selection-copy h2 {font-size:clamp(2rem,2.8vw,3rem);}
.pc-selection-copy>p:not(.public-kicker) {color:#d0dfe7;font-size:1.05rem;line-height:1.7;}
.pc-selection-signature {display:block;margin-top:24px;padding-top:20px;border-top:1px solid #ffffff30;color:var(--public-copper-soft);font:italic 1.4rem var(--public-serif);}
.pc-selection-fields {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.pc-cta-span-1 .pc-selection-fields {grid-template-columns:1fr;}
.pc-selection-card .pc-fine-print {color:#c2d4df;}
.pc-selection-card .pc-consent {color:#e0e9ef;}
.pc-selection-card .pc-contact-form .public-button {align-self:start;}
.pc-selection-card .pc-alert {color:var(--public-ink);}
.pc-selection-card--agent {grid-template-columns:1fr 1.25fr;margin-top:28px;}
@media(max-width:1100px){.pc-selection-card{grid-column:span 2;grid-template-columns:1fr;padding:32px}.pc-cta-tablet-1{grid-column:span 1;padding:24px}.pc-cta-tablet-1 .pc-selection-fields{grid-template-columns:1fr}}
@media(max-width:700px){.pc-selection-card{grid-column:1;grid-template-columns:1fr;padding:26px}.pc-selection-fields{grid-template-columns:1fr}.pc-selection-card .pc-contact-form .public-button{align-self:stretch}}
@media(min-width:1800px){.pc-project-grid {grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:1100px){.pc-container{width:calc(100% - 56px)}.pc-project-grid,.pc-home-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.pc-intro,.pc-contact-grid{gap:40px}.pc-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.pc-hero-price{right:28px}.pc-region-capsule{padding:40px;gap:35px}.pc-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.pc-search-label{grid-column:auto}.pc-filter-actions{grid-column:auto}.pc-amenities ul{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.pc-container{width:calc(100% - 36px)}.pc-directory-hero{padding:40px 0 52px}.pc-directory-hero h1{font-size:2.8rem}.pc-filters{padding:20px;gap:18px;grid-template-columns:1fr}.pc-filter-actions{align-items:center}.pc-results-heading{align-items:start;flex-direction:column;gap:8px}.pc-project-grid,.pc-home-grid{grid-template-columns:1fr}.pc-card-body{padding:22px}.pc-intro,.pc-contact-grid,.pc-region-capsule{grid-template-columns:1fr;gap:24px}.pc-intro{padding-block:50px}.pc-hero{min-height:680px}.pc-hero-content{padding-top:25px;padding-bottom:160px}.pc-hero-content h1{font-size:3rem}.pc-hero-shade{background:linear-gradient(90deg,#03121dcf,#03121d44),linear-gradient(0deg,#03121de6,transparent 65%)}.pc-hero-price{right:18px;left:18px;bottom:28px;text-align:left;border-right:0;border-left:2px solid var(--public-copper-soft);padding-left:18px}.pc-hero-actions{gap:22px;margin-top:24px}.pc-back-link{margin-bottom:22px}.pc-hero-logo .public-project-identity__logo{height:65px;width:85px;flex-basis:85px}.pc-gallery{grid-template-columns:1fr}.pc-gallery-section{padding-bottom:40px}.pc-section-nav{gap:10px 22px;justify-content:flex-start;padding:16px 18px}.pc-home-facts{gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.pc-amenities{padding:45px 0}.pc-amenities ul{grid-template-columns:1fr}.pc-residences{padding-block:50px}.pc-plan-grid{grid-template-columns:1fr}.pc-plan-grid img{height:auto;max-height:400px}.pc-plans{padding-block:20px 50px}.pc-region-capsule{padding:26px;margin-bottom:50px}.pc-region-mark{border-left:0;border-top:1px solid #b5c5ce;padding:22px 0 0}.pc-region-mark>p{font-size:2rem}.pc-contact{padding:45px 0}.pc-contact-copy{padding-top:0}.pc-form-panel{padding:24px}.pc-contact-reference{margin-top:24px}.pc-story{font-size:1.1rem}.pc-lightbox{padding-inline:10px}.pc-page .public-button{white-space:normal;text-align:center}}
@media(prefers-reduced-motion:reduce){.pc-project-card,.pc-home-card,.pc-card-image img{transition:none}.pc-project-card:hover,.pc-home-card:hover{transform:none}}
/* One search form, two immediate collection modes; native radios retain keyboard access. */
/* Preserve logo proportions, allowing wordmarks room beside the project title. */
.pc-card-body .public-project-identity__logo {width:92px;height:72px;flex-basis:92px;}
.pc-card-body .public-project-identity__logo--andara,
.pc-card-body .public-project-identity__logo--boulevard-villas,
.pc-card-body .public-project-identity__logo--marea-beach,
.pc-card-body .public-project-identity__logo--tracadero-riviera {width:110px;flex-basis:110px;}
.public-project-identity__logo--navy {background:var(--public-navy-900);border-radius:8px;}
.public-project-identity__logo--vientos-del-mar {overflow:hidden;}
.public-project-identity__logo--vientos-del-mar img {transform:scale(1.4);}
.public-project-identity__logo--circle img {transform:scale(1.12);}
.pc-card-body .public-project-identity h2 {overflow-wrap:normal;line-height:1.2;}
.pc-catalog-filters {align-items:end;}
.pc-catalog-filters .pc-search-label {grid-column:auto;}
.pc-collection-switch {min-width:0;margin:0;padding:0;border:0;}
.pc-collection-switch legend {padding:0;margin-bottom:8px;font-size:.9rem;font-weight:600;}
.pc-collection-options {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;background:#edf2f4;border:1px solid #cbd3d8;border-radius:8px;min-height:50px;}
.pc-collection-options label {position:relative;display:flex;cursor:pointer;}
.pc-collection-options input[type=radio] {position:absolute;width:1px;height:1px;min-height:0;margin:0;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0;}
.pc-collection-options span {display:flex;align-items:center;justify-content:center;flex:1;padding:9px 12px;border-radius:5px;font-size:1rem;line-height:1.25;font-weight:600;transition:background .15s,color .15s;}
.pc-collection-options input:checked+span {color:white;background:var(--public-navy-900);box-shadow:0 2px 5px #071d2d16;}
.pc-collection-options input:not(:checked)+span:hover {background:#dce6eb;}
.pc-collection-options input:focus-visible+span {outline:3px solid var(--public-copper);outline-offset:3px;}
.pc-catalog-filters--resales .pc-filter-actions {grid-column:3 / -1;justify-content:flex-end;}
.pc-card-body>h2 {font-size:1.65rem;margin:0;}
@media(max-width:1100px) {
    .pc-catalog-filters--resales .pc-filter-actions {grid-column:1 / -1;}
}
@media(max-width:700px) {
    .pc-catalog-filters--resales .pc-filter-actions {justify-content:flex-start;}
    .pc-collection-options span {min-height:44px;}
}
@media(max-width:420px) {
    .pc-card-body .public-project-identity {flex-direction:column;align-items:flex-start;gap:12px;}
    .pc-card-body .public-project-identity__logo {flex-basis:auto;}
}
@media(max-width:1100px) {
    .pc-project-grid--populated:has(>.pc-selection-card) {grid-template-rows:none;}
    .pc-project-grid--populated:has(>.pc-cta-tablet-2) {grid-template-rows:repeat(var(--pc-project-rows-tablet),1fr) auto;}
    .pc-selection-card--agent {margin-top:22px;}
}
@media(max-width:700px) {
    .pc-project-grid--populated:has(>.pc-selection-card) {grid-template-rows:repeat(var(--pc-project-count),1fr) auto;}
}
