.px-section { padding:100px 0; position:relative; }
.park-footer-email { display:block; margin:10px 0; font-size:14px; overflow-wrap:anywhere; }
.park-contact-email { display:block; margin:14px 0 22px; color:#263c2c; overflow-wrap:anywhere; }
.park-gallery .park-gallery-plan img { object-fit:contain; background:#fff; }
.px-section h2,.px-contact-hero h1,.px-dialog h2 { font-family:var(--alt-font); font-size:clamp(40px,4.4vw,64px); font-weight:400; line-height:1.08; letter-spacing:-1.8px; color:#263c2c; margin:20px 0 26px; }
.px-section h2 em,.px-contact-hero h1 em,.px-dialog h2 em { font-weight:400; color:#997347; }
.px-section h3 { font-family:var(--alt-font); font-weight:400; color:#263c2c; }
.px-section p { line-height:1.85; }
.px-eyebrow { display:block; color:#987344; font-size:11px; letter-spacing:2px; text-transform:uppercase; font-weight:600; line-height:1.7; }
.px-heading { display:flex; align-items:end; justify-content:space-between; gap:45px; margin-bottom:42px; }
.px-heading h2 { margin-bottom:0; }
.px-heading>p { max-width:350px; margin:0 0 4px; }
.px-button { display:inline-flex; align-items:center; justify-content:space-between; gap:25px; padding:18px 24px; color:#fff; background:#263c2c; border:1px solid #263c2c; border-radius:3px; font-size:13px; line-height:1.6; font-weight:600; transition:background .25s,transform .25s,box-shadow .25s; }
.px-button:hover,.px-button:focus-visible { color:#fff; background:#3d5843; transform:translateY(-3px); box-shadow:0 10px 25px #263c2c20; }
.px-button i { font-size:18px; }
.px-note { font-size:11px; color:#7a8074; line-height:1.7; margin:22px 0 0; }
.px-note a { text-decoration:underline; text-underline-offset:3px; }
.px-signature { background:#f8f6ef; }
.px-feature-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:65px; }
.px-feature-image { position:relative; min-height:580px; overflow:hidden; border-radius:180px 180px 5px 5px; }
.px-feature-image img { position:absolute; width:100%; height:100%; object-fit:cover; transition:transform 1s; }
.px-feature-image:hover img { transform:scale(1.05); }
.px-feature-image::after { content:''; position:absolute; inset:35% 0 0; background:linear-gradient(transparent,#11281ce6); }
.px-feature-image>div { position:absolute; z-index:1; bottom:36px; left:36px; right:25px; }
.px-feature-image .px-eyebrow { color:#e5c38e; }
.px-feature-image h3 { color:#fff; font-size:46px; line-height:1.1; margin:15px 0 0; }
.px-feature-list { display:grid; grid-template-columns:1fr 1fr; gap:25px 32px; align-content:center; }
.px-feature { padding:24px 0; border-top:1px solid #dcded1; transition:transform .3s; }
.px-feature:hover { transform:translateY(-5px); }
.px-feature>i { font-size:27px; color:#a67f49; display:block; margin-bottom:17px; }
.px-feature-stat { font-family:var(--alt-font); color:#263c2c; font-size:38px; line-height:1.2; }
.px-feature h3 { margin:10px 0; font-family:var(--primary-font); font-size:14px; font-weight:600; }
.px-feature p { margin:0; font-size:13px; }
.px-master { background:#203b2d; color:#c2cec1; overflow:hidden; }
.px-master::before { content:''; position:absolute; width:700px; height:700px; border:1px solid #d8c29112; border-radius:50%; left:-350px; top:-250px; box-shadow:0 0 0 90px #d8c29105,0 0 0 180px #d8c29104; pointer-events:none; }
.px-master-grid { position:relative; display:grid; grid-template-columns:.8fr 1.2fr; gap:65px; align-items:center; }
.px-master h2 { color:#fffaf0; }
.px-master h2 em { color:#d3b27c; }
.px-master-facts { display:flex; gap:45px; border-top:1px solid #ffffff26; padding-top:25px; margin:30px 0; }
.px-master-facts strong { display:block; font-family:var(--alt-font); font-size:33px; color:#f7f4e8; line-height:1.2; }
.px-master-facts span { font-size:11px; text-transform:uppercase; letter-spacing:1px; }
.px-button-light { border-color:#c6a773; background:#d8bd91; color:#203b2d; }
.px-plan-frame { margin:0; }
.px-plan-frame>a { display:block; position:relative; overflow:hidden; }
.px-plan-frame img { display:block; width:100%; height:auto; border-radius:4px; }
.px-plan-zoom { position:absolute; bottom:15px; right:15px; padding:9px 15px; background:#203b2d; color:#fff; font-size:11px; }
.px-plan-frame figcaption { margin:12px 2px 0; font-size:10px; color:#777d71; line-height:1.6; }
.px-floor { background:#f7f4ed; }
.px-floor-grid { display:grid; grid-template-columns:1fr 1fr; background:#fffdf8; border:1px solid #e5e3d9; }
.px-floor-visual { min-height:530px; position:relative; overflow:hidden; }
.px-floor-visual>img { width:100%; height:100%; position:absolute; object-fit:cover; }
.px-floor-visual>span { position:absolute; bottom:28px; left:25px; right:25px; padding:16px; background:#fffdf5ed; font-family:var(--alt-font); font-size:23px; text-align:center; color:#263c2c; line-height:1.4; }
.px-floor-details { padding:45px; }
.px-floor-details h3 { font-size:36px; line-height:1.15; margin:18px 0; }
.px-floor-details p { font-size:14px; }
.px-plan-options { margin:25px 0; }
.px-plan-options a { display:flex; gap:15px; align-items:center; padding:17px 0; border-top:1px solid #e1e4d7; color:#263c2c; font-size:13px; }
.px-plan-options a:last-child { border-bottom:1px solid #e1e4d7; }
.px-plan-options a>span { color:#aa8754; font-size:11px; }
.px-plan-options i { margin-left:auto; transition:transform .2s; }
.px-plan-options a:hover i { transform:translate(3px,-3px); }
.px-floor-details .px-note { font-size:11px; margin-bottom:22px; }
.px-brochure { background:#e9ecdf; overflow:hidden; }
.px-brochure-grid { display:grid; grid-template-columns:1fr 1fr; gap:90px; align-items:center; }
.px-book-scene.px-book-experience { --book-open:1; position:relative; text-align:center; padding:20px 0; width:100%; min-width:0; }
.px-book-stage { position:relative; width:100%; max-width:520px; aspect-ratio:1.15; margin:auto; perspective:1500px; isolation:isolate; }
.px-book-stage::before { content:''; position:absolute; inset:4% 3%; border:1px solid #b8c1a98c; border-radius:50%; }
.px-book-stage::after { content:''; position:absolute; width:83%; height:12%; bottom:0; left:9%; border-radius:50%; background:#1e382b33; filter:blur(17px); transform:scaleX(calc(.65 + var(--book-open)*.35)); }
.px-story-book { position:absolute; top:5%; left:50%; width:46%; height:86%; transform-style:preserve-3d; transform:translateX(calc(-50% + var(--book-open)*50%)) rotateX(8deg) rotateZ(calc(-5deg + var(--book-open)*5deg)); z-index:1; }
.px-book-pages { position:absolute; inset:4px -5px -5px 0; border-radius:2px 7px 7px 2px; background:repeating-linear-gradient(to bottom,#d6ccb5 0px,#f9f4e8 1px,#f9f4e8 3px); box-shadow:10px 14px 32px #1b342c26; transform:translateZ(-3px); }
.px-book-right { position:absolute; inset:0; background:linear-gradient(90deg,#d2c9b4,#f6f0e2 9%,#fffaf0 45%,#f4eddf); border:1px solid #d4cbb6; border-radius:1px 5px 5px 1px; overflow:hidden; }
.px-book-page-content { position:absolute; inset:0; display:flex; align-items:center; flex-direction:column; justify-content:center; padding:10% 9%; opacity:clamp(0,calc((var(--book-open) - .35)*2.5),1); transform:translateY(calc(16px - var(--book-open)*16px)); }
.px-book-chapter { position:absolute; top:7%; left:7%; right:7%; color:#8e754d; font-size:clamp(7px,.65vw,9px); line-height:1.6; letter-spacing:1.4px; text-transform:uppercase; }
.px-book-emblem { display:block; width:33%; height:auto; margin:0 auto 12px; }
.px-book-inside-brand { font-family:var(--alt-font); font-size:clamp(10px,.85vw,13px); line-height:1.5; color:#263c2c; letter-spacing:1.5px; }
.px-book-inside-brand strong { font-size:clamp(15px,1.5vw,21px); font-weight:400; letter-spacing:0; }
.px-book-rule { width:28px; height:1px; background:#b89660; margin:17px 0; }
.px-book-inside-title { font-family:var(--alt-font); font-size:clamp(21px,2vw,29px); color:#263c2c; line-height:1.18; }
.px-book-inside-title em { color:#a4814b; }
.px-book-page-footer { position:absolute; bottom:11%; left:7%; right:7%; font-size:clamp(8px,.75vw,10px); color:#8b816a; line-height:1.6; }
.px-book-page-number { position:absolute; bottom:4%; left:0; right:0; color:#99896c; font-size:8px; }
.px-book-cover { position:absolute; inset:0; transform-origin:left center; transform-style:preserve-3d; transform:rotateY(calc(var(--book-open)*-178deg)); }
.px-book-cover-front,.px-book-cover-back { position:absolute; inset:0; backface-visibility:hidden; -webkit-backface-visibility:hidden; display:flex; align-items:center; flex-direction:column; justify-content:center; border-radius:1px 5px 5px 1px; }
.px-book-cover-front { background:radial-gradient(ellipse at 80% 20%,#48604755,transparent 65%),repeating-linear-gradient(45deg,#ffffff03 0px,#ffffff03 1px,transparent 1px,transparent 4px),linear-gradient(90deg,#10271b,#284331 8%,#1a3426 95%,#11291d); color:#e3c995; border:1px solid #173223; box-shadow:inset 7px 0 8px #071b1880,inset -1px 0 1px #e2c28b55; }
.px-book-cover-front::before { content:''; position:absolute; inset:6%; border:1px solid #cfad6a80; pointer-events:none; }
.px-book-cover-front::after { content:''; position:absolute; inset:8%; border:1px solid #cfad6a26; pointer-events:none; }
.px-book-edition { position:absolute; top:13%; left:10%; right:10%; font-size:clamp(7px,.65vw,9px); text-transform:uppercase; letter-spacing:1.5px; line-height:1.5; }
.px-book-cover-brand { font-size:clamp(10px,.9vw,13px); font-family:var(--alt-font); line-height:1.5; letter-spacing:2px; }
.px-book-cover-brand strong { font-size:clamp(17px,1.65vw,24px); letter-spacing:0; font-weight:400; }
.px-book-cover-rule { width:25px; height:1px; background:#b89c68; margin:16px 0; }
.px-book-cover-title { font-family:var(--alt-font); font-size:clamp(16px,1.5vw,22px); line-height:1.3; font-style:italic; }
.px-book-cover-footer { position:absolute; bottom:13%; left:10%; right:10%; font-size:clamp(6px,.55vw,8px); letter-spacing:1.1px; line-height:1.6; }
.px-book-cover-back { transform:rotateY(180deg); background:linear-gradient(90deg,#faf5e9 70%,#e0d7c4 98%,#c7bca3); border:1px solid #d4cbb6; overflow:hidden; }
.px-book-window { position:absolute; top:16%; left:13%; right:13%; height:33%; border-radius:60% 60% 0 0; background:linear-gradient(#163b2720,#173a2744),url('../images/signature-garden-hq.jpg') center/cover; }
.px-book-words { position:absolute; top:54%; left:8%; right:8%; display:flex; flex-direction:column; gap:3px; font-family:var(--alt-font); font-size:clamp(21px,2vw,29px); line-height:1.1; color:#263c2c; }
.px-book-words span { opacity:clamp(0,calc((var(--book-open) - .5)*2.6),1); transform:translateY(calc(12px - var(--book-open)*12px)); }
.px-book-words span:nth-child(2) { opacity:clamp(0,calc((var(--book-open) - .6)*3),1); }
.px-book-words span:nth-child(3) { opacity:clamp(0,calc((var(--book-open) - .7)*3.8),1); color:#a4814b; }
.px-book-caption { display:block; position:relative; margin-top:25px; font-size:10px; text-transform:uppercase; letter-spacing:1.6px; color:#66705b; line-height:1.8; }
.px-brochure-topics { list-style:none; padding:0; margin:25px 0 30px; }
.px-brochure-topics li { padding:8px 0 8px 22px; position:relative; border-bottom:1px solid #cdd3c3; font-size:13px; }
.px-brochure-topics li::before { content:'↗'; position:absolute; left:0; color:#8c6240; }
.px-testimonials { background:#fcfaf5; }
.px-quote-grid { display:grid; grid-template-columns:repeat(3,1fr); grid-auto-rows:1fr; gap:24px; }
.px-quote { display:flex; flex-direction:column; margin:0; padding:30px; border:1px solid #e2e4d8; background:#f7f6ef; transition:background .3s,transform .3s; }
.px-quote:hover { background:#edf1e5; transform:translateY(-6px); }
.px-quote-mark { display:block; font-family:Georgia,serif; font-size:80px; color:#ae8c57; line-height:.9; }
.px-quote h3 { font-size:25px; line-height:1.25; margin:16px 0; }
.px-quote blockquote { padding:0; border:0; font-size:14px; line-height:1.85; margin:0 0 28px; }
.px-quote-person { display:flex; align-items:center; gap:12px; margin-top:auto; border-top:1px solid #dadfce; padding-top:20px; }
.px-quote-person>span { display:grid; place-items:center; width:42px; height:42px; flex-shrink:0; border-radius:50%; background:#e2e8d9; color:#536648; font-size:12px; }
.px-quote-person strong,.px-quote-person small { display:block; line-height:1.6; }
.px-quote-person strong { font-size:12px; color:#263c2c; }
.px-quote-person small { font-size:9px; }
.px-visit { padding:95px 0; background:#263c2c; min-height:650px; display:flex; align-items:center; }
.px-visit-photo { position:absolute; inset:0; background:linear-gradient(90deg,#10271922,#10271977),url('../images/visit-garden-hq.jpg') center/cover; }
.px-visit>.container { position:relative; }
.px-visit-card { background:#faf8ef; padding:52px; max-width:510px; margin-left:auto; border-top:4px solid #c3a16d; }
.px-visit-card h2 { font-size:50px; }
.px-visit-call { display:block; margin-top:20px; font-size:12px; color:#66705b; }
.px-faq { background:#eef1e7; }
.px-faq-grid { display:grid; grid-template-columns:.85fr 1.15fr; align-items:start; gap:80px; }
.px-faq-intro p { max-width:350px; }
.px-faq-link { display:inline-flex; gap:14px; align-items:center; margin-top:12px; padding-bottom:8px; border-bottom:1px solid #b6bea8; color:#263c2c; font-size:13px; }
.px-faq-list { border-top:1px solid #cbd2c1; }
.px-faq-list details { border-bottom:1px solid #cbd2c1; transition:background .3s; }
.px-faq-list details[open] { background:#fafbf5; }
.px-faq-list summary { display:flex; align-items:center; gap:18px; padding:25px 20px; list-style:none; cursor:pointer; color:#263c2c; font-family:var(--alt-font); font-size:21px; line-height:1.4; }
.px-faq-list summary::-webkit-details-marker { display:none; }
.px-faq-number { flex-shrink:0; color:#96774a; font-family:var(--primary-font); font-size:11px; }
.px-faq-toggle { width:24px; height:24px; flex:0 0 24px; margin-left:auto; position:relative; border:1px solid #bac5ad; border-radius:50%; }
.px-faq-toggle::before,.px-faq-toggle::after { content:''; position:absolute; background:#536746; width:10px; height:1px; top:11px; left:6px; transition:transform .25s; }
.px-faq-toggle::after { transform:rotate(90deg); }
.px-faq-list details[open] .px-faq-toggle::after { transform:rotate(0); }
.px-faq-answer { padding:0 62px 25px 52px; }
.px-faq-answer p { margin:0; font-size:14px; }
.px-faq-answer a { color:#435c3a; text-decoration:underline; text-underline-offset:3px; }
.px-faq-list summary:focus-visible,.px-faq-link:focus-visible { outline:2px solid #987344; outline-offset:3px; }
@media (max-width:991px) { .px-faq-grid { gap:35px; grid-template-columns:1fr 1.2fr; } }
@media (max-width:767px) { .px-faq-grid { grid-template-columns:1fr; }.px-faq-intro p { max-width:none; }.px-faq-list summary { padding:22px 14px; gap:12px; font-size:19px; }.px-faq-answer { padding:0 25px 24px 40px; } }
.px-contact-hero { background:linear-gradient(90deg,#132e24db,#132e2466),url('../images/green-spaces.jpg') center/cover; padding:200px 0 85px; color:#e6ecdf; }
.px-contact-hero h1 { color:#fff; font-size:clamp(48px,6vw,88px); max-width:800px; }
.px-contact-hero h1 em { color:#d8bd91; }
.px-contact-hero .px-eyebrow { color:#e2bf85; }
.px-contact-hero p { max-width:450px; }
.px-contact-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:85px; align-items:start; }
.px-contact-card { border-top:1px solid #d9decd; padding:22px 0; }
.px-contact-card small { display:block; color:#96754b; font-size:10px; text-transform:uppercase; letter-spacing:1.5px; margin-bottom:8px; }
.px-contact-card a { color:#263c2c; }
.px-contact-card p { margin:0; font-size:14px; }
.px-form { background:#fffdf8; border:1px solid #e2e4d7; padding:38px; }
.px-form h3 { font-family:var(--alt-font); font-size:30px; color:#263c2c; margin:0 0 24px; }
.px-form label { display:block; color:#364d39; font-size:12px; margin-bottom:7px; line-height:1.6; }
.px-form input:not([type=checkbox]),.px-form select,.px-form textarea { display:block; width:100%; border:1px solid #d6ddcc; background:#fff; color:#263c2c; padding:12px 14px; border-radius:2px; margin:0 0 20px; line-height:1.6; font-size:14px; }
.px-form input:focus,.px-form select:focus,.px-form textarea:focus { outline:2px solid #ac8a54; outline-offset:2px; }
.px-form-row { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.px-form .px-consent { display:flex; align-items:start; gap:10px; margin-bottom:22px; font-size:11px; color:#717b68; }
.px-form .px-consent input { margin:4px 0 0; width:16px; height:16px; flex:0 0 16px; padding:0; accent-color:#263c2c; }
.px-form-status { font-size:12px; line-height:1.8; margin-top:15px; }
.px-form-status[data-error] { color:#9d3025; }
.px-trap { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.px-map { padding-top:0; background:#f8f6ef; }
.px-map iframe { display:block; width:100%; height:440px; border:0; filter:saturate(.7); }
.px-map-caption { display:flex; justify-content:space-between; align-items:center; gap:24px; background:#203b2d; color:#fff; padding:24px 30px; }
.px-map-caption a { color:#e3c394; font-size:12px; }
.px-map-caption p { font-size:13px; margin:0; }
.px-dialog { width:min(540px,calc(100% - 30px)); border:0; padding:0; max-height:90dvh; overflow:auto; background:#faf8ef; box-shadow:0 30px 100px #0004; }
.px-dialog::backdrop { background:#142c23bb; backdrop-filter:blur(5px); }
.px-dialog-shell { padding:38px; }
.px-dialog h2 { font-size:42px; padding-right:12px; }
.px-dialog p { font-size:13px; line-height:1.8; }
.px-dialog .px-form { padding:0; border:0; background:transparent; }
.px-dialog-close { position:absolute; right:15px; top:15px; background:transparent; border:1px solid #ced6c4; color:#263c2c; width:34px; height:34px; font-size:22px; line-height:1; border-radius:50%; }
body.px-dialog-open { overflow:hidden; }
.px-standalone { min-height:100vh; display:grid; place-items:center; padding:50px 15px; background:#e9ecdf; }
.px-standalone>div { width:min(540px,100%); padding:35px; background:#faf8ef; }
.px-standalone h1 { color:#263c2c; font:400 40px/1.15 var(--alt-font); margin:20px 0; }
.px-standalone .px-form { padding:0; border:0; }
[data-px-reveal] { transition:opacity .8s ease,translate .8s cubic-bezier(.2,.7,.3,1); }
.px-motion [data-px-reveal]:not(.px-visible) { opacity:0; translate:0 28px; }
@media (max-width:991px) {
 .px-section { padding:70px 0; }.px-feature-grid,.px-master-grid,.px-brochure-grid { gap:35px; }.px-heading { gap:30px; }.px-heading>p { max-width:290px; }.px-feature-image { min-height:510px; }.px-feature-list { gap:18px; }.px-floor-details { padding:28px; }.px-quote { padding:22px; }.px-contact-grid { gap:35px; }.px-form { padding:28px; }
}
@media (max-width:767px) {
 .px-heading { display:block; }.px-heading>p { max-width:none; margin-top:22px; }.px-feature-grid,.px-master-grid,.px-floor-grid,.px-brochure-grid,.px-contact-grid { grid-template-columns:1fr; }.px-feature-image { min-height:480px; }.px-feature-list { gap:22px; }.px-feature { padding:20px 0; }.px-feature-image h3 { font-size:40px; }.px-master-copy { max-width:520px; }.px-plan-frame { margin:15px 5px 0; }.px-floor-visual { min-height:350px; }.px-quote-grid { grid-template-columns:1fr; }.px-quote:nth-child(2) { margin:0; }.px-book-scene { padding:20px 35px; margin-bottom:20px; }.px-visit { min-height:700px; padding:50px 0; }.px-visit-card { padding:35px; max-width:440px; }.px-visit-card h2 { font-size:43px; }.px-contact-hero { padding:165px 0 60px; }.px-map-caption { align-items:start; flex-direction:column; gap:12px; }.px-section { padding:60px 0; }.px-map { padding-top:0; }.px-contact-grid { gap:40px; }.px-contact-grid .px-form-row { grid-template-columns:1fr; gap:0; }
}
@media (max-width:400px) { .px-form,.px-dialog-shell { padding:24px; }.px-visit-card { padding:28px; }.px-button { padding:16px 18px; gap:15px; }.px-feature-stat { font-size:32px; }.px-floor-details { padding:24px; } }
@media (prefers-reduced-motion:reduce) { [data-px-reveal],.px-section * { transition:none!important; animation:none!important; }.px-motion [data-px-reveal] { opacity:1!important; translate:none!important; } }
