/* Editorial page templates — shared tokens come from site.css. */
.page-hero{position:relative;isolation:isolate;display:flex;min-height:390px;align-items:flex-end;overflow:hidden;padding:clamp(70px,9vw,132px) max(56px,calc((100vw - 1380px)/2)) 62px;background:var(--navy);color:var(--white)}
.page-hero::before{position:absolute;inset:0 0 0 auto;z-index:-2;width:65%;background-image:url('/assets/hero-exterior.webp');background-position:center 47%;background-size:cover;content:"";opacity:.48}
.page-hero::after{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,var(--navy) 0%,rgba(7,26,46,.96) 26%,rgba(7,26,46,.54) 70%,rgba(7,26,46,.16) 100%),linear-gradient(0deg,rgba(7,26,46,.62),transparent 54%);content:""}
.page-hero--price::before{background-image:url('/assets/city-mangrove.webp')}.page-hero--floor-plans::before{background-image:url('/assets/plan-tower-a-5-6.webp');background-color:#f6f3ec;background-size:contain;background-repeat:no-repeat;background-position:right center;opacity:.28}.page-hero--amenities::before{background-image:url('/assets/pool.webp')}.page-hero--location::before{background-image:url('/assets/city-mangrove.webp')}.page-hero--gallery::before{background-image:url('/assets/foyer.webp')}.page-hero--contact::before{background-image:url('/assets/hero-exterior.webp')}.page-hero--privacy::before,.page-hero--disclosures::before{opacity:.20}
.page-hero__inner,.page-hero>.wrap{position:relative;z-index:1;width:min(820px,100%);margin:0}.route-kicker{display:flex;align-items:center;gap:12px;margin:0 0 17px;color:var(--gold-light);font-size:9px;font-weight:600;letter-spacing:.2em;text-transform:uppercase}.route-kicker::before{width:30px;height:1px;background:var(--gold);content:""}.page-hero h1{max-width:760px;margin:0 0 18px;font-size:clamp(54px,8vw,96px);line-height:.88}.page-hero p:not(.route-kicker){max-width:640px;margin:0;color:rgba(255,255,255,.78);font-family:var(--serif);font-size:clamp(20px,2.4vw,29px);line-height:1.25}.page-hero .button{margin-top:25px}.page-section{padding:clamp(62px,8vw,118px) 0}.page-section:nth-of-type(even){background:#fff}.page-section h2,.editorial-band h2,.legal-copy h2{max-width:810px;margin-bottom:19px;font-family:var(--serif);font-size:clamp(42px,5.3vw,72px);line-height:.94;letter-spacing:-.035em}.page-section h2 em,.editorial-band h2 em{color:#8f6f34;font-weight:400}.page-section h3,.legal-copy h3{font-family:var(--serif);font-size:29px;font-weight:500;line-height:1.1}.page-lead{max-width:760px;color:#3e4953;font-family:var(--serif);font-size:22px;line-height:1.42}.page-copy{max-width:820px;color:#68717a;font-size:13px;line-height:1.9}.page-copy a,.source-link{color:#80612e;text-decoration:underline;text-decoration-color:rgba(199,160,81,.7);text-underline-offset:3px}
.page-intro{display:grid;grid-template-columns:1fr .9fr;gap:clamp(40px,8vw,110px);align-items:center}.page-intro--reverse{grid-template-columns:.9fr 1fr}.page-visual{position:relative;min-width:0;background:#e7e3db}.page-visual img{width:100%;max-height:610px;aspect-ratio:1.1;object-fit:cover}.page-visual--plan img{aspect-ratio:1.12;object-fit:contain;background:#fff}.page-visual figcaption,.image-note{margin:10px 0 0;color:#727b82;font-size:9px;letter-spacing:.06em;line-height:1.65}.eyebrow-tag{display:block;margin-bottom:12px;color:#97783e;font-size:9px;font-weight:600;letter-spacing:.17em;text-transform:uppercase}.fact-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;margin:26px 0;padding:0;list-style:none;border-top:1px solid var(--line)}.fact-list li{display:flex;flex-direction:column;gap:4px;padding:15px 0;border-bottom:1px solid var(--line)}.fact-list strong{font-size:12px;font-weight:600}.fact-list span{color:#717983;font-size:10px;line-height:1.6}
.editorial-band{position:relative;overflow:hidden;padding:clamp(42px,7vw,92px) 0;background:var(--navy);color:var(--white)}.editorial-band h2{color:var(--white)}.editorial-band h2 em{color:var(--gold-light)}.editorial-band p{max-width:760px;color:rgba(255,255,255,.75);font-size:13px;line-height:1.85}.editorial-band .eyebrow-tag{color:var(--gold-light)}.editorial-band .source-link{color:var(--gold-light)}.notice{margin:20px 0;padding:16px 19px;border-left:2px solid var(--gold);background:#f1ede5;color:#626d77;font-size:11px;line-height:1.8}.notice--dark{background:rgba(255,255,255,.06);color:rgba(255,255,255,.77)}.notice strong{color:var(--navy)}.notice--dark strong{color:var(--white)}
.price-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:38px}.price-card{display:flex;min-height:290px;flex-direction:column;padding:28px 29px 23px;border:1px solid #e1ddd4;background:#fff}.price-card--featured{border-color:var(--navy);background:var(--navy);color:#fff}.price-card .card-number{color:#8b7652;font-size:9px;letter-spacing:.16em}.price-card--featured .card-number{color:var(--gold-light)}.price-card h3{margin:21px 0 11px;font-family:var(--serif);font-size:54px;font-weight:500;line-height:.92}.price-card p{color:#717983;font-size:11px;line-height:1.75}.price-card--featured p{color:rgba(255,255,255,.68)}.price-card .card-link{margin-top:auto}.price-range{margin:14px 0;color:var(--navy);font-family:var(--serif);font-size:26px}.price-card--featured .price-range{color:var(--gold-light)}
.plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:35px}.plan-card{padding:22px 23px 21px;border:1px solid #e3dfd7;background:#fff}.plan-card img{width:100%;max-height:430px;object-fit:contain;background:#fff}.plan-card h3{margin:13px 0 6px}.plan-card p{color:#68717a;font-size:11px;line-height:1.75}.plan-card .plan-actions{display:flex;gap:18px;flex-wrap:wrap;margin-top:17px}.plan-card .text-link{margin-top:14px}.plan-zoom{width:100%;padding:0;border:0;background:#f7f5ef;text-align:left;cursor:zoom-in}.plan-zoom img{transition:transform .25s ease}.plan-zoom:hover img{transform:scale(1.015)}.plan-data{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;margin:13px 0 0}.plan-data div{padding:9px 0;border-top:1px solid var(--line)}.plan-data dt{color:#757d85;font-size:9px}.plan-data dd{margin:2px 0 0;color:#333d47;font-size:11px;font-weight:600}
.amenities-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:34px}.amenity-tile{min-height:245px;display:flex;flex-direction:column;justify-content:flex-end;padding:24px;background:#f1eee7;border-top:2px solid var(--gold)}.amenity-tile:nth-child(even){background:var(--navy);color:#fff}.amenity-tile img{width:calc(100% + 48px);height:145px;max-width:none;margin:-24px -24px 20px;object-fit:cover}.amenity-tile .amenity-index{color:#94743a;font-size:9px;letter-spacing:.16em}.amenity-tile h3{margin:6px 0 5px;font-size:27px}.amenity-tile p{margin:0;color:#6d7680;font-size:10px;line-height:1.7}.amenity-tile:nth-child(even) p{color:rgba(255,255,255,.67)}
.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:30px}.gallery-grid figure{position:relative;margin:0;overflow:hidden;background:var(--navy)}.gallery-grid figure:first-child{grid-column:span 2}.gallery-grid img{width:100%;height:clamp(240px,34vw,500px);object-fit:cover;transition:transform .55s var(--ease)}.gallery-grid figure:first-child img{height:clamp(300px,48vw,650px)}.gallery-grid figure:hover img{transform:scale(1.025)}.gallery-grid figcaption{padding:12px 14px;background:#fff;color:#5e6871;font-size:9px;line-height:1.65}.gallery-caption-note{max-width:780px;color:#747b83;font-size:10px;line-height:1.8}
.location-facts{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:27px}.map-frame--page{height:520px;border:9px solid #fff;background:#e0e2de;box-shadow:0 15px 40px rgba(7,26,46,.08)}.map-frame--page iframe{width:100%;height:100%;border:0}.map-links{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:15px}.map-links a{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.faq-list{max-width:940px;margin-top:28px;border-top:1px solid var(--line)}.faq-list details{padding:18px 0;border-bottom:1px solid var(--line)}.faq-list summary{position:relative;padding-right:32px;color:#283440;font-family:var(--serif);font-size:23px;line-height:1.25;cursor:pointer;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{position:absolute;right:2px;content:"+";color:#97763a;font-family:var(--sans);font-size:18px}.faq-list details[open] summary::after{content:"−"}.faq-list details p{max-width:800px;margin:13px 0 0;color:#68717a;font-size:12px;line-height:1.8}
.contact-page-grid{display:grid;grid-template-columns:.86fr 1.14fr;gap:clamp(30px,7vw,88px);align-items:start}.contact-panel{padding:27px;background:var(--navy);color:#fff}.contact-panel h2{color:#fff}.contact-panel p{color:rgba(255,255,255,.72);font-size:12px;line-height:1.8}.contact-panel a{color:var(--gold-light)}.contact-panel .contact-list{display:flex;flex-direction:column;gap:13px;margin:22px 0}.contact-panel .contact-list a{padding:11px 0;border-top:1px solid rgba(255,255,255,.17)}.lead-form{display:flex;flex-direction:column;gap:17px;padding:clamp(22px,4vw,38px);background:#fff;box-shadow:0 12px 35px rgba(7,26,46,.08)}.lead-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:17px}.lead-form label{display:flex;flex-direction:column;gap:7px;color:#424c56;font-size:10px;font-weight:500}.lead-form input:not([type=checkbox]),.lead-form select,.lead-form textarea{width:100%;min-height:44px;padding:10px 12px;border:1px solid #d8dad7;border-radius:0;background:#fff;color:var(--charcoal);font:inherit;font-size:11px}.lead-form input:focus,.lead-form select:focus,.lead-form textarea:focus{border-color:#aa853e;outline:2px solid rgba(199,160,81,.18)}.lead-form .consent{display:flex;flex-direction:row;align-items:flex-start;gap:9px;color:#68717a;font-size:9px;line-height:1.6}.lead-form .consent input{margin-top:3px;accent-color:var(--navy)}.lead-form .form-status{margin:0;color:#747b82;font-size:10px;line-height:1.7}.lead-form [aria-invalid=true]{border-color:#ad4f44!important}.lead-form .form-submit{align-self:flex-start;cursor:pointer}.honeypot{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important}
.legal-copy{max-width:940px}.legal-copy section{margin:35px 0}.legal-copy p,.legal-copy li{color:#616c76;font-size:12px;line-height:1.9}.legal-copy ul{padding-left:20px}.legal-copy .notice{margin:22px 0}.source-list{display:flex;flex-direction:column;gap:8px;padding-left:18px}.source-list li{font-size:11px}.source-list a{color:#80612e;text-decoration:underline;text-underline-offset:3px}.page-end-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:23px 25px;background:#f0ece4}.page-end-cta p{margin:0;color:#59636d;font-family:var(--serif);font-size:21px;line-height:1.35}.page-end-cta .button{flex:0 0 auto}
@media(max-width:900px){.page-hero{min-height:340px;padding:74px 32px 47px}.page-hero::before{width:74%}.page-intro,.page-intro--reverse,.contact-page-grid{grid-template-columns:1fr;gap:34px}.page-visual img{max-height:480px;aspect-ratio:1.35}.page-visual--plan img{aspect-ratio:1.25}.price-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.amenities-list{grid-template-columns:repeat(2,minmax(0,1fr))}.map-frame--page{height:430px}}
@media(max-width:600px){.page-hero{min-height:330px;padding:64px 20px 35px}.page-hero::before{width:100%;opacity:.37}.page-hero::after{background:linear-gradient(90deg,rgba(7,26,46,.93),rgba(7,26,46,.58)),linear-gradient(0deg,rgba(7,26,46,.6),transparent)}.page-hero h1{font-size:clamp(50px,14vw,70px)}.page-hero p:not(.route-kicker){font-size:20px}.page-section{padding:69px 0}.page-section h2,.editorial-band h2,.legal-copy h2{font-size:clamp(40px,12vw,58px)}.page-lead{font-size:19px}.fact-list{grid-template-columns:1fr}.price-grid,.plan-grid,.amenities-list,.gallery-grid,.location-facts{grid-template-columns:1fr}.price-card{min-height:250px;padding:23px}.gallery-grid figure:first-child{grid-column:auto}.gallery-grid img,.gallery-grid figure:first-child img{height:285px}.lead-form{padding:24px 17px}.lead-form .form-row{grid-template-columns:1fr;gap:15px}.map-frame--page{height:340px;border-width:6px}.page-end-cta{align-items:flex-start;flex-direction:column;padding:20px}.faq-list summary{font-size:20px}.amenity-tile{min-height:220px}.plan-card{padding:15px}.page-hero .wrap{width:100%}}
@media(prefers-reduced-motion:reduce){.gallery-grid img,.plan-zoom img{transition:none!important}}
