.plan-gate-intro{max-width:640px;color:var(--muted);line-height:1.7;margin:20px 0 8px}.gated-plan-grid{margin-top:34px}.gated-plan{display:block;border:1px solid var(--line);background:#fff;min-width:0}.gated-plan img{display:block;width:100%;height:auto}.gated-plan-label{display:flex;flex-direction:column;gap:10px;padding:20px;background:var(--ivory)}.gated-plan-label strong{font:23px/1.3 var(--serif)}.gated-plan-label>span{font-size:12px}.plan-enquiry-preview{padding:45px 28px;background:var(--green);color:var(--ivory)}.plan-enquiry-preview[hidden],.has-plan-preview .callback-benefits[hidden]{display:none}.plan-enquiry-preview h3{font:30px/1.2 var(--serif);margin:15px 0 22px}.plan-enquiry-preview>p:last-child{font-size:12px;line-height:1.7;margin-top:23px;color:#e3e8df}.plan-thumbnail{display:flex;align-items:center;justify-content:center;width:100%;max-width:220px;margin:0 auto;padding:12px;background:#fff}.plan-thumbnail img{display:block;width:auto;height:auto;max-width:100%;max-height:180px;object-fit:contain}.project-document-viewer{width:min(1300px,calc(100vw - 24px));max-width:1300px;max-height:calc(100dvh - 24px);padding:22px;background:var(--ivory);color:var(--ink);overflow:auto}.project-document-viewer::backdrop{background:rgba(9,27,25,.85)}.document-viewer-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.document-viewer-toolbar .eyebrow{font-size:9px;margin-bottom:6px}.document-viewer-toolbar h2{font-size:30px}.document-viewer-close{flex:none;width:40px;height:40px;border:1px solid var(--line);background:white;color:var(--green);font-size:29px}.document-viewer-actions{display:flex;gap:24px;align-items:center;margin:18px 0}.document-viewer-actions .button{padding:13px 18px;font-size:12px}.document-viewer-content{overflow:auto;background:#fff;border:1px solid var(--line)}.document-viewer-content>img{display:block;width:100%;height:calc(100dvh - 250px);min-height:240px;object-fit:contain}.document-viewer-content>iframe{display:block;width:100%;height:calc(100dvh - 250px);min-height:300px;border:0}.document-viewer-content>[hidden],.document-viewer-actions>[hidden]{display:none}.plan-zoomed .document-viewer-content{max-height:calc(100dvh - 250px)}.plan-zoomed .document-viewer-content>img{width:1600px;max-width:none;height:auto;min-height:0}.project-document-viewer>.section-note{margin:12px 0 0;font-size:10px}@media(max-width:700px){.plan-enquiry-preview{padding:23px 22px}.plan-enquiry-preview h3{font-size:24px;margin:10px 0 14px}.plan-thumbnail{max-width:160px;padding:10px}.plan-thumbnail img{max-height:100px}.plan-enquiry-preview>p:last-child{margin-top:12px;font-size:11px}.has-plan-preview .callback-form{padding-top:22px}.project-document-viewer{padding:16px;width:calc(100vw - 16px)}.document-viewer-toolbar h2{font-size:24px}.document-viewer-actions{gap:18px}.document-viewer-actions .text-link{font-size:12px}.document-viewer-content>img{height:calc(100dvh - 260px)}.gated-plan-label{padding:16px}}
.document-viewer-actions button{border:1px solid var(--line);background:transparent;padding:13px 18px;color:var(--green);font-family:var(--sans);font-size:12px;cursor:pointer}.document-viewer-actions button:hover{background:#e7e8df}.document-viewer-actions button:focus-visible,.document-viewer-close:focus-visible{outline:2px solid var(--green);outline-offset:3px}

/* Brochures contain portrait, square and landscape sheets. Fit each complete
   sheet into the same compact preview frame without stretching or cropping. */
.gated-plan-grid{align-items:stretch}
.gated-plan-grid .gated-plan{display:flex;flex-direction:column}
.gated-plan-grid .gated-plan>img{width:100%;height:clamp(180px,21vw,260px);padding:18px;object-fit:contain;object-position:center;background:#fff;box-sizing:border-box}
.gated-plan-grid .gated-plan-label{flex:1;padding:16px 18px;gap:7px;border-top:1px solid var(--line)}
.gated-plan-grid .gated-plan-label strong{font-size:20px;line-height:1.3}
.gated-plan-grid .gated-plan-label>span{font-size:11px}
.project-document-viewer{width:min(1100px,calc(100vw - 24px))}
.project-document-viewer:not(.plan-zoomed) .document-viewer-content>img{height:min(65dvh,620px);min-height:0;object-fit:contain;padding:12px;box-sizing:border-box}
@media(max-width:700px){
 .gated-plan-grid .gated-plan>img{height:clamp(140px,38vw,190px);padding:10px}
 .gated-plan-grid .gated-plan-label{padding:12px;gap:6px}
 .gated-plan-grid .gated-plan-label strong{font-size:17px}
 .gated-plan-grid .gated-plan-label>span{font-size:10px;line-height:1.5}
 .project-document-viewer:not(.plan-zoomed) .document-viewer-content>img{height:58dvh;padding:8px}
}
