/* Change these variables to match your portal. */
:root{--primary:#333092;--primary-dark:#242165;--ink:#262632;--muted:#666675;--width:1160px;--line:#dedee6;--surface:#f4f4f8}*{box-sizing:border-box}body{margin:0;background:white;color:var(--ink);font-family:Arial,"Noto Sans",sans-serif;line-height:1.6}a{color:var(--primary)}button{font:inherit}.container{max-width:var(--width);margin:auto;padding:0 28px}.skip{position:absolute;left:20px;top:-100px;background:white;padding:12px;z-index:20}.skip:focus{top:12px}:focus-visible{outline:3px solid #df8a00;outline-offset:5px}.masthead{border-top:7px solid var(--primary)}.masthead-inner{min-height:118px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;gap:20px;align-items:center;text-decoration:none;color:var(--ink)}.brand-mark{width:58px;height:58px;color:var(--primary)}.brand-name{font-size:36px;font-weight:700;letter-spacing:-1px}.brand-sub{display:block;font-size:11px;font-weight:400;letter-spacing:1.6px;text-transform:uppercase;color:var(--muted)}.contact{font-size:14px}.menu-toggle{display:none;border:1px solid var(--primary);background:white;color:var(--primary);padding:8px 14px;border-radius:3px}.navigation{background:var(--primary)}.navigation .container{display:flex;flex-wrap:wrap;gap:0}.navigation a{display:block;color:white;text-decoration:none;padding:18px 20px;font-size:14px;font-weight:600;border-bottom:4px solid transparent}.navigation a:first-child{padding-left:18px}.navigation a[aria-current]{border-bottom-color:white;background:rgba(0,0,0,.13)}.navigation a:hover{background:var(--primary-dark)}main{padding-top:38px;padding-bottom:65px}.notice{background:var(--surface);border-left:5px solid var(--primary);padding:22px 26px;margin-bottom:38px}.notice h1{font-size:21px;line-height:1.4;margin:0 0 9px}.notice p{font-size:15px;margin:0}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px 24px}.map-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:213px;padding:25px 12px 22px;border:1px solid var(--line);border-radius:3px;text-decoration:none;background:white;transition:background .18s,border-color .18s,transform .18s}.map-card:hover{background:#f4f3fb;border-color:var(--primary);transform:translateY(-3px)}.map-icon{display:grid;place-items:center;width:106px;height:106px;border-radius:50%;color:var(--primary);background:#efedf8;margin-bottom:18px}.map-icon svg{width:67px;height:67px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}.card-title{font-size:16px;font-weight:600;text-align:center;line-height:1.4;text-decoration:underline;text-underline-offset:4px}.external{position:absolute;right:12px;top:9px;font-size:15px;color:#77728f}.footer{background:#282735;color:white;padding:40px 0 25px}.footer h2{font-size:19px;margin:0 0 12px}.footer p{font-size:14px;max-width:800px;color:#d8d7df;margin:0 0 24px}.footer-links{display:flex;gap:22px;flex-wrap:wrap;border-top:1px solid #555360;padding-top:22px}.footer a{color:white;font-size:13px}.copyright{margin-top:24px!important;margin-bottom:0!important;font-size:12px!important}.footer-brand{font-size:24px;font-weight:700;margin-bottom:20px}@media(max-width:950px){.navigation a{padding:15px 12px;font-size:12px}.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:700px){.container{padding:0 20px}.masthead-inner{min-height:95px}.brand-name{font-size:27px}.brand-mark{width:43px;height:43px}.brand{gap:12px}.contact{display:none}.js .menu-toggle{display:block}.navigation .container{flex-direction:column;padding:0 20px}.js .navigation[data-open="false"]{display:none}.navigation a,.navigation a:first-child{padding:12px 8px;font-size:14px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.map-card{min-height:185px;padding:19px 8px}.map-icon{width:87px;height:87px;margin-bottom:15px}.map-icon svg{width:57px;height:57px}.card-title{font-size:14px}.notice{padding:19px}.notice h1{font-size:18px}main{padding-top:25px;padding-bottom:40px}}@media(max-width:360px){.brand-sub{font-size:9px}.brand-name{font-size:23px}.brand-mark{display:none}.map-icon{width:72px;height:72px}}@media(prefers-reduced-motion:reduce){.map-card{transition:none}.map-card:hover{transform:none}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* DLPP / NLUIMS additions */
.brand-sub{max-width:370px;white-space:normal;letter-spacing:.65px;font-size:10px}.brand-mark{flex-shrink:0}@media(max-width:700px){.brand-sub{max-width:210px;font-size:9px!important;letter-spacing:.3px!important}}
:root{--primary:#40407e;--primary-dark:#30305f}.map-card{min-height:259px;justify-content:flex-start}.card-description{display:block;font-size:12px;line-height:1.5;color:var(--muted);text-align:center;margin-top:10px;max-width:220px}.availability-note{font-size:13px;color:var(--muted);margin:-16px 0 27px}.is-unavailable{background:#f7f7f8;border-color:#e3e3e9;cursor:default}.is-unavailable .map-icon{background:#eaeaf0;color:#717184}.is-unavailable .card-title{color:#666675;text-decoration:none}.is-unavailable:hover{background:#f7f7f8;border-color:#e3e3e9;transform:none}.coming-soon{display:inline-block;border:1px solid #d1d1dc;background:#ededf2;color:#515160;border-radius:20px;padding:3px 12px;font-size:11px;font-weight:700;margin-top:14px}.footer-department{font-size:13px;font-weight:400;display:block;margin-top:3px}@media(max-width:700px){.map-card{min-height:252px}.card-description{font-size:11px}.notice h1{font-size:20px}.brand-sub{font-size:10px;letter-spacing:1px}}

/* Data and help belong to navigation; the card grid contains only maps. */
.navigation{position:relative;z-index:5}.nav-group{position:relative;color:white;font-size:14px;font-weight:600}.nav-group summary{list-style:none;cursor:pointer;padding:18px 14px;border-bottom:4px solid transparent}.nav-group summary::-webkit-details-marker{display:none}.nav-group summary::after{content:" ▾"}.nav-group[open] summary{background:var(--primary-dark)}.nav-dropdown{position:absolute;top:100%;left:0;min-width:220px;box-shadow:0 7px 20px #0002;background:var(--primary-dark);padding:6px 0}.navigation .nav-dropdown a{padding:11px 16px;border:0;font-size:13px}.navigation a{padding-left:14px;padding-right:14px}@media(max-width:950px){.nav-group summary{font-size:12px;padding:15px 12px}}@media(max-width:700px){.nav-group summary{padding:12px 8px;font-size:14px}.nav-dropdown{position:static;box-shadow:none;margin-bottom:8px}.navigation .nav-dropdown a{padding-left:22px}}

/* ACTmapi navigation labels and order */
.navigation .container{flex-wrap:nowrap}.navigation a,.nav-unavailable{font-size:13px;padding:18px 14px;font-weight:600;line-height:1.5;display:flex;flex-direction:column;justify-content:center}.nav-unavailable{color:#d8d8eb;cursor:default;border-bottom:4px solid transparent}.nav-unavailable small{font-size:10px;font-weight:400;color:#d8d8eb;line-height:1.3}.navigation a{white-space:nowrap}@media(max-width:1100px){.navigation .container{flex-wrap:wrap}.navigation a,.nav-unavailable{font-size:12px;padding:14px 12px}}@media(max-width:700px){.navigation .container{flex-wrap:nowrap}.navigation a,.nav-unavailable{font-size:14px;padding:12px 8px}.nav-unavailable small{font-size:11px}}

/* Official emblems retained in their original colours and proportions. */
.government-logo{width:105px;height:88px;object-fit:contain;flex-shrink:0}.header-partners{display:flex;align-items:center;gap:19px;flex-shrink:0}.header-partners img{object-fit:contain}.dlpp-logo{width:89px;height:80px}.nslup-logo{width:73px;height:76px}.masthead-inner{min-height:135px}.footer-logo-strip{display:flex;align-items:center;gap:20px;background:white;border-radius:4px;width:fit-content;padding:12px 18px;margin-bottom:24px}.footer-logo-strip img{width:94px;height:76px;object-fit:contain}.footer-logo-strip img.policy-logo{width:67px;height:70px}@media(max-width:950px){.header-partners{gap:12px}.header-partners .contact{display:none}.brand{gap:12px}.government-logo{width:85px}.dlpp-logo{width:70px}.nslup-logo{width:62px;height:65px}}@media(max-width:700px){.masthead-inner{flex-wrap:wrap;gap:12px;padding-top:14px;padding-bottom:14px}.brand{flex:1;min-width:0}.government-logo{width:64px;height:64px}.brand-name{font-size:27px}.header-partners{order:3;flex-basis:100%;justify-content:center;border-top:1px solid var(--line);padding-top:10px}.header-partners .dlpp-logo{width:76px;height:60px}.header-partners .nslup-logo{width:58px;height:60px}.menu-toggle{flex-shrink:0}.footer-logo-strip{gap:12px;padding:10px 12px}.footer-logo-strip img{width:80px;height:64px}}

/* Four logos: PNG Government, DLPP, NSLUP and JICA. */
.header-partners .jica-logo{width:79px;height:76px;object-fit:contain}.header-partners .contact{display:none}.footer-logo-strip .jica-logo{width:76px;height:70px;object-fit:contain}@media(max-width:950px){.header-partners .jica-logo{width:65px;height:65px}.header-partners{gap:12px}}@media(max-width:700px){.header-partners .jica-logo{width:62px;height:60px}.footer-logo-strip{gap:10px;padding:10px;max-width:100%}.footer-logo-strip img{width:64px;height:58px}.footer-logo-strip img.policy-logo{width:54px;height:58px}.footer-logo-strip .jica-logo{width:59px;height:58px}}

/* ACTmapi-style unframed map icons: no tile border or circular backing. */
.map-card,.map-card.is-unavailable{border:0;border-radius:0;background:transparent;box-shadow:none;min-height:210px;padding:20px 10px;justify-content:flex-start}.map-card:hover,.map-card.is-unavailable:hover{border:0;background:transparent;transform:none;box-shadow:none}.map-icon,.is-unavailable .map-icon{background:transparent;border:0;border-radius:0;box-shadow:none;width:112px;height:112px;margin-bottom:17px;color:var(--primary)}.map-icon svg{width:87px;height:87px}.is-unavailable .card-title{color:var(--primary)}.map-card[href]:hover .card-title{color:var(--primary-dark);text-decoration-thickness:2px}.coming-soon{border:0;border-radius:0;background:transparent;color:var(--muted);padding:0;font-weight:400;margin-top:8px}.grid{gap:30px 24px}@media(max-width:700px){.map-card,.map-card.is-unavailable{min-height:190px;padding:15px 6px}.map-icon,.is-unavailable .map-icon{width:92px;height:92px}.map-icon svg{width:73px;height:73px}.grid{gap:22px 16px}}

/* Map icon image dimensions. */
.map-icon,.is-unavailable .map-icon{width:100px;height:100px;background:transparent;border:0;border-radius:0}.map-icon img{display:block;width:80px;height:80px;object-fit:contain;filter:none;opacity:1}.is-unavailable .map-icon img{filter:none;opacity:1}@media(max-width:700px){.map-icon,.is-unavailable .map-icon{width:92px;height:92px}.map-icon img{width:80px;height:80px}}

/* Independent SVG artwork: theme-specific coloured strokes and no enclosing frame. */
.map-icon img{width:88px;height:88px;filter:none;opacity:1}.is-unavailable .map-icon img{filter:none;opacity:1}@media(max-width:700px){.map-icon img{width:78px;height:78px}}

/* Gentle icon zoom without moving surrounding text or changing clickability. */
.map-icon img{transform:scale(1);transform-origin:center;transition:transform 180ms ease-out;will-change:auto}@media(hover:hover) and (pointer:fine){.map-card:hover .map-icon img{transform:scale(1.10)}}.map-card[href]:focus-visible .map-icon img{transform:scale(1.10)}@media(prefers-reduced-motion:reduce){.map-icon img{transition:none}.map-card:hover .map-icon img,.map-card[href]:focus-visible .map-icon img{transform:none}}

/* Presentation palette: white, rose, mauve, grey, and blue-green headings. */
:root{--primary:#17698A;--primary-dark:#12536D;--ink:#202126;--muted:#646573;--line:#DEDADF;--surface:#FAF5FA;--rose:#E0AEC7;--mauve:#C49BC9;--plum:#704B76}body{background:#fff}.masthead{border-top:0;position:relative}.masthead::before{content:"";display:block;height:24px;background:linear-gradient(90deg,#E0AEC7 0 33.333%,#D6A8CE 33.333% 66.666%,#C49BC9 66.666%);border-bottom:6px solid #BDBDBD}.brand-name{color:#17698A}.brand-sub{color:#606470}.navigation{background:#F2E5F0;border-top:1px solid #DEC7DE;border-bottom:3px solid #C49BC9}.navigation a{color:#58375F}.navigation a[aria-current]{background:#E4C9E0;border-bottom-color:#8D5D96;color:#452B4B}.navigation a:hover{background:#E5CDE3;color:#452B4B}.nav-unavailable,.nav-unavailable small{color:#6F5873}.notice{background:linear-gradient(105deg,#FCF6FA,#F5F8FA);border-left:5px solid #BD88B6;position:relative}.notice h1{color:#17698A}.notice p{color:#4F5863}.availability-note{color:#65707A}.card-title,.is-unavailable .card-title{color:#17698A}.footer{background:#FAF6FA;color:#30323A;border-top:8px solid #B6B6B6;border-bottom:22px solid transparent;border-image:linear-gradient(90deg,#C49BC9,#D6A8CE,#E0AEC7) 1}.footer h2,.footer-brand{color:#17698A}.footer p{color:#5A6370}.footer a{color:#17698A}.footer-links{border-color:#D7C6D8}.footer-logo-strip{background:#fff;border:1px solid #E6DCE7}.copyright{color:#68727C!important}.coming-soon{color:#77707B}.notice::after{content:"";position:absolute;right:22px;top:12px;width:96px;height:96px;background:url("assets/dlpp-logo.png") center/contain no-repeat;opacity:.05;pointer-events:none}@media(max-width:700px){.masthead::before{height:18px;border-bottom-width:4px}.footer{border-bottom-width:16px}}

/* Wide aerial photograph, with readable overlay and source credit. */
.landscape-banner{margin:0 0 30px}.banner-image-wrap{position:relative;height:250px;overflow:hidden;border-radius:3px}.banner-image-wrap>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 52%}.banner-image-wrap::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,28,33,.74),rgba(12,28,33,.1) 75%)}.banner-caption{position:absolute;z-index:1;left:30px;bottom:30px;max-width:590px;color:white}.banner-caption span{font-size:11px;letter-spacing:2px;font-weight:700;color:#F4DBED}.banner-caption h2{font-size:28px;line-height:1.3;margin:9px 0 0;text-shadow:0 1px 3px #0003}.landscape-banner figcaption{font-size:10px;color:#68727C;text-align:right;margin-top:6px}.landscape-banner figcaption a{color:#17698A}@media(max-width:700px){.banner-image-wrap{height:210px}.banner-caption{left:20px;bottom:24px;right:18px}.banner-caption h2{font-size:23px}}

/* Edge-to-edge banner, outside the constrained content container. */
.landscape-banner{width:100%;margin:0}.banner-image-wrap{height:300px;border-radius:0}.banner-caption{left:max(28px,calc((100% - var(--width))/2 + 28px));bottom:38px}.landscape-banner figcaption{max-width:var(--width);margin:6px auto 0;padding:0 28px}.landscape-banner+main{padding-top:30px}@media(max-width:700px){.banner-image-wrap{height:230px}.banner-caption{left:20px;right:20px;bottom:26px}.landscape-banner figcaption{padding:0 20px}.landscape-banner+main{padding-top:24px}}

/* Photograph without overlaid text or dark shading. */
.banner-image-wrap::after{display:none}

/* Comfortable reading at 100% browser zoom on desktop. */
:root{--width:1600px}body{font-size:17px}.brand-name{font-size:40px}.brand-sub{font-size:13px;letter-spacing:.5px;max-width:450px}.navigation a,.nav-unavailable{font-size:16px;padding:19px 17px}.nav-unavailable small{font-size:12px}.notice{padding:25px 30px;margin-bottom:30px}.notice h1{font-size:28px}.notice p{font-size:18px;line-height:1.65}.availability-note{font-size:16px;line-height:1.65;margin-bottom:25px}.map-card,.map-card.is-unavailable{min-height:232px;padding:17px 12px}.map-icon,.is-unavailable .map-icon{width:130px;height:130px;margin-bottom:15px}.map-icon img{width:112px;height:112px}.card-title{font-size:22px;font-weight:500;line-height:1.45}.coming-soon{font-size:14px;margin-top:8px}.grid{gap:20px 30px}.banner-image-wrap{height:220px}.landscape-banner figcaption{font-size:12px}.footer-brand{font-size:28px}.footer h2{font-size:22px}.footer p{font-size:16px}.footer a{font-size:15px}.copyright{font-size:14px!important}@media(max-width:1100px){.navigation a,.nav-unavailable{font-size:15px;padding:16px 13px}.card-title{font-size:20px}.brand-sub{font-size:12px}.notice h1{font-size:25px}}@media(max-width:700px){body{font-size:16px}.brand-name{font-size:28px}.brand-sub{font-size:10px!important;max-width:220px}.navigation a,.nav-unavailable{font-size:16px;padding:12px 8px}.notice{padding:20px}.notice h1{font-size:23px}.notice p{font-size:16px}.availability-note{font-size:14px}.map-card,.map-card.is-unavailable{min-height:218px;padding:14px 6px}.map-icon,.is-unavailable .map-icon{width:108px;height:108px}.map-icon img{width:94px;height:94px}.card-title{font-size:18px}.coming-soon{font-size:13px}.grid{gap:18px 14px}.banner-image-wrap{height:180px}.landscape-banner figcaption{font-size:11px}}

/* Underline every map name, including Coming Soon items. */
.card-title,.is-unavailable .card-title{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}

/* PNG coastal landscape: show the coastline in the wide crop. */
.banner-image-wrap>img{object-position:center 38%}

/* Highlight parcel boundaries and the road junction. */
.banner-image-wrap>img{object-position:center 43%}

.signin-link{margin-left:auto;background:#17698A;color:#fff;padding:9px 18px;border-radius:4px;text-decoration:none;white-space:nowrap;font-weight:600;font-size:16px}.signin-link:hover{background:#12536D}.login-layout{min-height:68vh;display:grid;place-items:center;padding:42px 20px;background:linear-gradient(135deg,#fcf4f9,#f1f7fa)}.login-panel{background:white;width:100%;max-width:480px;padding:34px;border:1px solid #e4d8e5;border-radius:10px;box-shadow:0 10px 30px #4433550c}.login-panel h1{font-size:30px;color:#17698A;margin:0 0 9px}.login-panel p{font-size:16px}.login-panel label{display:block;font-weight:600;margin:19px 0 7px}.login-panel input{display:block;width:100%;font:inherit;padding:12px;border:1px solid #a5abb5;border-radius:4px}.login-panel button{margin-top:22px;width:100%;padding:12px;background:#17698A;color:white;border:0;border-radius:4px;font:inherit;font-weight:600;cursor:pointer}.demo-note{background:#faf1f8;border-left:3px solid #bd88b6;padding:12px;font-size:14px!important}.login-error{color:#a32430;font-size:15px;min-height:24px}.login-back{display:block;text-align:center;margin-top:18px}.login-panel .official-link{font-size:14px;border-top:1px solid #e2d8e5;padding-top:18px;margin-top:24px}@media(max-width:700px){.signin-link{font-size:14px;padding:8px 12px;margin-left:0}.login-panel{padding:25px}.login-panel h1{font-size:27px}}

/* Three demonstration user entrances, with identical destination content. */
.login-panel{max-width:650px}.audience-options{border:0;margin:24px 0;padding:0}.audience-options legend{font-size:17px;font-weight:700;color:#17698A;margin-bottom:12px}.login-panel .audience-option{display:flex;align-items:center;gap:13px;padding:16px;border:1px solid #d8cedd;border-radius:6px;cursor:pointer;font-weight:400;margin:10px 0;background:#fff}.login-panel .audience-option input{width:19px;height:19px;flex-shrink:0;accent-color:#17698A;margin:0}.audience-option strong{display:block;font-size:18px}.audience-option small{display:block;color:#646573;font-size:13px;line-height:1.5;margin-top:3px}.audience-option:has(input:checked){background:#f6edf6;border-color:#a276ac;box-shadow:0 0 0 1px #a276ac}.audience-option:hover{background:#f9f5fa}.audience-symbol{display:grid;place-items:center;width:43px;height:43px;font-size:30px;color:#17698A;flex-shrink:0}@media(max-width:700px){.login-panel .audience-option{padding:12px;gap:10px}.audience-option strong{font-size:17px}.audience-symbol{width:30px}}

/* English / Tok Pisin language switch. */
.language-switch{display:flex;flex-direction:column;gap:4px;font-size:11px;color:#5d5465;line-height:1.4;flex-shrink:0}.language-select{font:inherit;font-size:15px;padding:7px 25px 7px 10px;background:#fff;border:1px solid #bba5c0;border-radius:4px;color:#17698A;max-width:150px}.masthead-inner{flex-wrap:wrap;padding-top:12px;padding-bottom:12px}.header-partners{margin-left:auto}html[lang=tpi] .navigation .container{flex-wrap:wrap}html[lang=tpi] .navigation a{white-space:normal}html[lang=tpi] .card-title{font-size:20px}html[lang=tpi] .map-card{min-height:250px}.brand{min-width:0}.brand-sub{max-width:420px}@media(max-width:700px){.language-switch{font-size:10px}.language-select{font-size:14px}.header-partners{margin-left:0}.brand-sub{max-width:200px}html[lang=tpi] .card-title{font-size:17px}}
