/* Phase 2: dedicated NSW planning service pages, extending the public website design */
.service-page .page-hero{position:relative;overflow:hidden;background:linear-gradient(125deg,#fbfcfb 0%,#f1f3f2 100%);border-bottom:1px solid var(--line)}
.page-hero .hero-gridlines{pointer-events:none}
.page-hero .shell{position:relative;z-index:1}
.breadcrumbs{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-top:30px;font-size:.8rem;color:#687176}
.breadcrumbs a{border-bottom:1px solid #c2c9cb}
.page-hero-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(265px,.8fr);gap:64px;align-items:center;padding:72px 0 88px}
.page-hero-copy h1{max-width:850px;font-size:clamp(3rem,5vw,5rem)}
.page-hero-copy h1 span{display:block}
.page-lead{font-size:1.16rem;max-width:700px;line-height:1.68;margin:26px 0 30px;color:#4e585d}
.page-summary{padding:31px 30px 34px;background:#202528;color:#fff;box-shadow:0 16px 36px rgba(20,23,25,.11);border-top:4px solid var(--accent)}
.page-summary .eyebrow{color:#bcada0;margin-bottom:15px}
.page-summary h2{font-size:1.54rem;line-height:1.23;letter-spacing:-.035em}
.page-summary p{color:#cbd2d5;margin:14px 0}
.page-summary ul{list-style:none;padding:15px 0 0;margin:0;border-top:1px solid #444e52}
.page-summary li{padding:8px 0 8px 20px;position:relative;font-size:.91rem}
.page-summary li:before{content:"";height:6px;width:6px;background:var(--accent);position:absolute;left:0;top:17px}
.service-content{background:#fff}
.service-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(255px,.76fr);align-items:start;gap:88px}
.service-main h2{font-size:clamp(2rem,3.4vw,3.15rem);line-height:1.1;margin:0 0 24px}
.service-main p{color:#4f595d;font-size:1.02rem;margin:0 0 20px;max-width:770px}
.service-main strong{color:#202528}
.service-main .content-block{padding-bottom:52px;margin-bottom:52px;border-bottom:1px solid var(--line)}
.service-main .content-block:last-child{border-bottom:0;padding-bottom:0;margin-bottom:0}
.review-points{display:grid;grid-template-columns:1fr 1fr;gap:24px 30px}
.review-point{padding:23px 0 0;border-top:1px solid #d6dcde}
.review-point h3{font-size:1.13rem;line-height:1.28;margin-bottom:11px;letter-spacing:-.025em}
.review-point p{font-size:.94rem;margin:0}
.service-sidebar{position:sticky;top:155px}
.sidebar-card{background:#f3f5f4;border:1px solid #dfe4e5;padding:29px}
.sidebar-card .eyebrow{font-size:.7rem;margin-bottom:15px}
.sidebar-card h2{font-size:1.43rem;line-height:1.25}
.sidebar-card ul{padding-left:18px;color:#475156;margin:22px 0}
.sidebar-card li{padding:0 0 13px}
.sidebar-card .btn{width:100%;text-align:center}
.scope-note{font-size:.83rem;color:#657075;line-height:1.6;padding:21px 4px;border-bottom:1px solid var(--line)}
.service-process{background:#f3f5f4}
.service-process .section-head{margin-bottom:36px}
.process-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#cfd5d6;border:1px solid #cfd5d6}
.process-card{background:#f8f9f8;padding:31px;min-height:235px}
.process-card .number{font-size:.75rem;letter-spacing:.13em;color:#78858c;font-weight:700}
.process-card h3{font-size:1.34rem;line-height:1.22;margin:32px 0 12px}
.process-card p{color:#566064;margin:0}
.service-faq{background:#fff}
.service-faq .faq-grid{display:grid;grid-template-columns:.8fr 1.6fr;gap:80px}
.service-faq .faq-grid>div:first-child h2{max-width:360px}
.faq-list{border-top:1px solid var(--line)}
.faq-list details{border-bottom:1px solid var(--line);padding:20px 0}
.faq-list summary{cursor:pointer;font:600 1.06rem/1.45 "Manrope",Arial,sans-serif;list-style-position:outside;padding-right:18px}
.faq-list details p{margin:14px 0 4px;color:#586267}
.source-links{margin-top:42px;font-size:.87rem;color:#657075}
.source-links p{margin:0 0 10px}
.source-links ul{margin:0;padding-left:19px}
.source-links a{color:#313d44;text-decoration:underline;text-underline-offset:3px}
.related-services{background:#f3f5f4}
.related-services h2{margin-bottom:33px}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.related-card{background:#fff;border:1px solid #d8dedf;padding:25px;min-height:170px;display:flex;flex-direction:column;transition:transform .2s}
.related-card:hover{transform:translateY(-3px)}
.related-card span{display:block;font-size:.72rem;letter-spacing:.12em;color:#78858c;margin-bottom:24px}
.related-card strong{font:600 1.24rem/1.25 "Manrope",Arial,sans-serif}
.related-card b{margin-top:auto;color:#6d777c;font-weight:600}
.service-page a:focus-visible,.service-page summary:focus-visible{outline:2px solid #8a6a3d;outline-offset:3px}
@media(max-width:980px){.page-hero-grid{gap:28px;grid-template-columns:minmax(0,1.4fr) minmax(240px,.8fr)}.service-layout{gap:38px}.service-faq .faq-grid{gap:38px}}
@media(max-width:760px){.page-hero-grid{grid-template-columns:1fr;gap:30px;padding:52px 0 65px}.page-summary{max-width:580px}.service-layout{grid-template-columns:1fr}.service-sidebar{position:static}.review-points{grid-template-columns:1fr 1fr}.service-faq .faq-grid{grid-template-columns:1fr;gap:30px}.process-cards,.related-grid{grid-template-columns:1fr}.process-card{min-height:unset}.related-card{min-height:150px}}
@media(max-width:480px){.page-hero-copy h1{font-size:2.85rem}.breadcrumbs{padding-top:22px}.review-points{grid-template-columns:1fr}.page-summary{padding:25px}.sidebar-card{padding:24px}}
