@font-face{font-family:Archivo;src:url(../fonts/archivo-variable.woff2) format("woff2");font-weight:100 900;font-stretch:62% 125%;font-display:swap}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:76px}body{margin:0;font-family:Archivo,"Segoe UI",Arial,sans-serif;color:#1f1a16;line-height:1.6;font-size:1rem;background:#fff;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit}:focus-visible{outline:3px solid #1c7f57;outline-offset:3px}.wrap{width:min(1180px,100% - 2.5rem);margin-inline:auto}h1,h2,h3{font-stretch:118%;font-weight:800;line-height:1.08;margin:0 0 .6em;letter-spacing:-0.01em}h2{font-size:clamp(1.4rem,2.6vw,2rem)}h3{font-size:1.1rem;font-stretch:105%}p{margin:0 0 1em;max-width:65ch}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.95rem 1.6rem;font:inherit;font-weight:700;font-stretch:110%;border:2px solid rgba(0,0,0,0);border-radius:3px;text-decoration:none;cursor:pointer;transition:background .2s,color .2s,transform .2s}.btn-go{background:#1c7f57;color:#fff}.btn-go:hover{background:#14633f;transform:translateY(-2px)}.btn-ghost{border-color:#fff;color:#fff}.btn-ghost:hover{background:#fff;color:#1f1a16}.btn-brown{background:#6e3510;color:#fff}.btn-brown:hover{background:#4a230a}.site-header{position:fixed;inset:0 0 auto;z-index:50;transition:background .3s,box-shadow .3s}.site-header .wrap{display:flex;align-items:center;justify-content:space-between;height:76px}.site-header.solid{background:#1f1a16;box-shadow:0 2px 18px rgba(0,0,0,.4)}.brand{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:#fff}.brand img{height:42px;width:auto}.brand b{font-stretch:125%;font-weight:800;font-size:1.05rem;letter-spacing:.02em;line-height:1}.brand small{display:block;font-weight:500;font-stretch:100%;font-size:.7rem;opacity:.8;margin-top:.2rem}.nav{display:flex;gap:1.6rem;align-items:center}.nav a{color:#fff;text-decoration:none;font-weight:600;font-size:.95rem;padding:.4rem 0;border-bottom:2px solid rgba(0,0,0,0)}.nav a:hover{border-color:#8c8a4e}.nav .btn{padding:.6rem 1.1rem;border-bottom:2px solid rgba(0,0,0,0)}.menu-btn{display:none;background:none;border:2px solid #fff;color:#fff;padding:.45rem .8rem;font:inherit;font-weight:700;border-radius:3px}.hero{position:relative;height:100svh;min-height:640px;background:#1f1a16;color:#fff;overflow:hidden}.slide{position:absolute;inset:0;opacity:0;transition:opacity 1.2s ease}.slide.on{opacity:1}.slide img{width:100%;height:100%;object-fit:cover}.slide.on img{animation:drift 9s ease-out forwards}@keyframes drift{from{transform:scale(1.07)}to{transform:scale(1)}}.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg, rgba(20, 16, 12, 0.8666666667) 0%, rgba(20, 16, 12, 0.5333333333) 55%, rgba(20, 16, 12, 0.1333333333) 100%),linear-gradient(0deg, rgba(20, 16, 12, 0.8), transparent 45%)}.hero-copy{position:absolute;z-index:2;left:0;right:0;bottom:150px}.hero h1{font-size:clamp(1.3rem,2.3vw,1.9rem);max-width:26ch;animation:rise .9s .15s both cubic-bezier(0.2, 0.7, 0.2, 1)}.hero p{font-size:.98rem;max-width:48ch;animation:rise .9s .35s both cubic-bezier(0.2, 0.7, 0.2, 1)}.hero .cta{display:flex;gap:1rem;flex-wrap:wrap;animation:rise .9s .5s both cubic-bezier(0.2, 0.7, 0.2, 1)}@keyframes rise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}.ruler{position:absolute;z-index:3;left:0;right:0;bottom:36px}.ruler .wrap{display:flex;gap:.5rem;align-items:flex-end}.tick{flex:1;background:none;border:0;border-top:3px solid rgba(255,255,255,.3333333333);color:rgba(255,255,255,.7019607843);padding:.7rem 0 0;font:inherit;font-size:.78rem;text-align:left;cursor:pointer;position:relative}.tick::before{content:"";position:absolute;left:0;top:-3px;height:3px;width:0;background:#1c7f57}.tick.on{color:#fff}.tick.on::before{width:100%;transition:width 6s linear}.tick span{display:none}.arrow{position:absolute;z-index:3;top:50%;width:48px;height:48px;border-radius:50%;border:2px solid rgba(255,255,255,.5333333333);background:rgba(0,0,0,.3333333333);color:#fff;font-size:1.4rem;cursor:pointer}.arrow:hover{background:#1c7f57;border-color:#1c7f57}.prev{left:1rem}.next{right:1rem}.sec{padding:clamp(2.5rem,5vw,4rem) 0}.alt{background:#ecedea}.lead{font-size:1.02rem}.two{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}.stack{position:relative;aspect-ratio:4/5}.stack img{position:absolute;object-fit:cover;border-radius:3px;box-shadow:0 14px 40px rgba(0,0,0,.2)}.stack img:first-child{inset:0 22% 18% 0;width:78%;height:82%}.stack img:last-child{right:0;bottom:0;width:58%;height:52%;border:6px solid #fff}.values{display:grid;grid-template-columns:1fr 1fr;gap:1rem 2rem;padding:0;list-style:none;margin:1.5rem 0 0}.values li{padding-left:1.2rem;border-left:4px solid #8c8a4e}.values b{display:block}.cards{display:grid;grid-template-columns:repeat(3, 1fr);gap:1.25rem;margin-top:2.5rem}.cat{margin-top:0}.powered{color:#fff;font-weight:700;text-decoration:none;border-bottom:2px solid #1c7f57}.powered:hover{color:#1c7f57}.filters{display:flex;gap:.6rem;flex-wrap:wrap;margin:1.5rem 0 2rem}.filters button{font:inherit;font-weight:700;padding:.55rem 1.1rem;border:2px solid #1f1a16;background:none;border-radius:99px;cursor:pointer}.filters button[aria-pressed=true]{background:#1f1a16;color:#fff}.grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:.8rem}.cat[hidden]{display:none}.grid button{display:block;width:100%;aspect-ratio:4/3;margin:0;padding:0;border:0;background:#1f1a16;cursor:zoom-in;break-inside:avoid;overflow:hidden;border-radius:3px}.grid img{width:100%;height:100%;object-fit:cover;transition:transform .5s,opacity .3s}.grid button:hover img{transform:scale(1.05);opacity:.85}.grid button[hidden]{display:none}dialog{border:0;padding:0;background:none;max-width:96vw;max-height:94vh;color:#fff}dialog::backdrop{background:rgba(0,0,0,.8666666667)}dialog img{max-height:86vh;margin:auto;border-radius:3px}dialog p{text-align:center;margin:.6rem auto 0}dialog .x{position:fixed;top:1rem;right:1rem;background:#fff;border:0;font-size:1.6rem;width:44px;height:44px;border-radius:50%;cursor:pointer}.cidb{display:grid;grid-template-columns:repeat(4, 1fr);margin-top:2rem;background:#6e3510;color:#fff;border-radius:4px;overflow:hidden}.cidb div{padding:1.1rem 1.3rem;border-left:1px solid rgba(255,255,255,.1882352941)}.cidb div:first-child{border-left:0}.cidb small{display:block;font-size:.76rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;opacity:.8}.cidb b{display:block;font-stretch:115%;font-size:1.2rem;line-height:1.2;margin-top:.25rem}.desig{margin:1rem 0 0;max-width:none}.desig b{font-stretch:110%}.desig a{display:inline-block;margin-left:1rem;font-weight:700;color:#14633f;white-space:nowrap}.grades{display:grid;grid-template-columns:repeat(4, 1fr);gap:1.25rem;margin-top:1.25rem}.grade{background:#fff;padding:1.6rem;border-top:6px solid #6e3510;box-shadow:0 6px 24px rgba(0,0,0,.0666666667)}.grade .code{display:block;font-stretch:125%;font-weight:800;font-size:2.1rem;line-height:1;color:#6e3510}.grade .lvl{display:inline-block;margin:.6rem 0 .2rem;padding:.15rem .6rem;border-radius:99px;background:#ecedea;font-size:.74rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.grade h3{margin:.5rem 0 .4rem;font-size:1rem}.grade p{font-size:.93rem;margin:0}.grade.main{display:grid;grid-template-columns:auto 1fr;gap:1rem 2.5rem;align-items:center;margin-top:1.5rem;padding:1.8rem 2rem;border-top-color:#1c7f57}.grade.main .code{font-size:clamp(3.2rem,7vw,4.8rem);color:#14633f}.grade.main h3{font-size:1.25rem}.grade.main p{max-width:70ch}.grade.main p+p{margin-top:.7rem}.pill{display:inline-block;margin-left:.6rem;padding:.2rem .65rem;border-radius:99px;background:#1c7f57;color:#fff;font-size:.72rem;font-weight:700;font-stretch:100%;letter-spacing:.05em;text-transform:uppercase;vertical-align:middle}.sub{margin:2.4rem 0 0;font-size:1.05rem}.reading{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(1.5rem,4vw,3rem);align-items:center;margin-top:2.5rem;padding:clamp(1.4rem,3vw,2.2rem);background:#fff;border-radius:4px;box-shadow:0 6px 24px rgba(0,0,0,.0666666667)}.reading h3{margin-top:0}.reading p:last-child{margin-bottom:0}.ladder{display:flex;align-items:flex-end;gap:.4rem;height:200px;margin:0;padding:0;list-style:none}.ladder li{flex:1;height:calc(var(--n)*10% + 10%);display:flex;align-items:flex-start;justify-content:center;padding-top:.4rem;border-radius:3px 3px 0 0;background:#d6d6d0;color:#1f1a16;font-stretch:115%;font-weight:800}.ladder li.g1{background:#8c8a4e;color:#fff}.ladder li.g5{background:#1c7f57;color:#fff}.legend{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;margin:.9rem 0 0;font-size:.88rem}.sw{display:inline-block;width:.9rem;height:.9rem;margin-right:.4rem;border-radius:2px;vertical-align:-0.1rem;background:#d6d6d0}.sw.g1{background:#8c8a4e}.sw.g5{background:#1c7f57}.steps{counter-reset:s;list-style:none;padding:0;margin:2.5rem 0 0;display:grid;grid-template-columns:repeat(5, 1fr);gap:1.25rem}.steps li{counter-increment:s;border-top:4px solid #6e3510;padding-top:1rem}.steps li::before{content:counter(s);font-stretch:115%;font-weight:800;font-size:1.5rem;color:#6e3510;display:block;line-height:1}.steps b{display:block;margin:.4rem 0}.steps span{font-size:.95rem}.band{background:#1f1a16 center/cover;position:relative;color:#fff;text-align:center}.band::before{content:"";position:absolute;inset:0;background:rgba(42,20,6,.8509803922)}.band .wrap{position:relative}.band p{margin-inline:auto}.contact{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(2rem,5vw,4rem)}.info a{display:block;font-weight:700;font-stretch:105%;font-size:1.05rem;text-decoration:none;margin:.2rem 0}.info a:hover{color:#1c7f57}.info h3{margin-top:1.8rem}.map{border:0;width:100%;height:240px;margin-top:1.5rem;border-radius:3px;filter:grayscale(0.3)}form{background:#fff;padding:clamp(1.4rem,3vw,2.2rem);box-shadow:0 10px 40px rgba(0,0,0,.1333333333);border-top:6px solid #1c7f57}.row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}label{display:block;font-weight:700;font-size:.92rem;margin:0 0 1rem}input,select,textarea{display:block;width:100%;margin-top:.35rem;padding:.8rem;font:inherit;border:2px solid #d6d6d0;border-radius:3px;background:#fff}input:focus,select:focus,textarea:focus{border-color:#1c7f57;outline:0}.hp{position:absolute;left:-9999px}.note{font-size:.85rem;color:#5b5b52}.status{margin-top:1rem;padding:.9rem 1rem;border-radius:3px;font-weight:600}.status[hidden]{display:none}.status.ok{background:#dff3e9;color:#0e4b2f}.status.bad{background:#fbe3e0;color:#7d1d12}footer{background:#1f1a16;color:#cfcfc8;padding:2rem 0 5rem;font-size:.92rem}footer .wrap{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}footer img{height:46px;margin-bottom:.6rem}.wa{position:fixed;right:1rem;bottom:1rem;z-index:40;background:#25d366;color:#0b3a1e;font-weight:800;padding:.8rem 1.1rem;border-radius:99px;text-decoration:none;box-shadow:0 6px 20px rgba(0,0,0,.3333333333)}@media(max-width: 960px){.menu-btn{display:block}.nav{position:fixed;inset:76px 0 auto;background:#1f1a16;flex-direction:column;align-items:stretch;padding:1rem 1.5rem 1.5rem;gap:.4rem;transform:translateY(-130%);transition:transform .3s;visibility:hidden}.nav.open{transform:none;visibility:visible}.nav a{padding:.8rem 0}.two,.contact{grid-template-columns:1fr}.cards{grid-template-columns:1fr 1fr}.grades{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr 1fr}.cidb{grid-template-columns:1fr 1fr}.cidb div:nth-child(3){border-left:0}.cidb div:nth-child(n+3){border-top:1px solid rgba(255,255,255,.1882352941)}.reading{grid-template-columns:1fr}.hero-copy{bottom:120px}.tick{font-size:.7rem}.arrow{display:none}}@media(max-width: 620px){.grid{grid-template-columns:1fr 1fr}.cards,.grades,.steps,.row,.values{grid-template-columns:1fr}.cidb{grid-template-columns:1fr}.cidb div{border-left:0;border-top:1px solid rgba(255,255,255,.1882352941)}.cidb div:first-child{border-top:0}.grade.main{grid-template-columns:1fr}.desig a{display:block;margin:.4rem 0 0}.brand small{display:none}.card{min-height:260px}}@media(prefers-reduced-motion: reduce){html{scroll-behavior:auto}.slide.on img,.wa,.hero h1,.hero p,.hero .cta{animation:none}.rv{transform:translateY(18px)}}.btn{position:relative;overflow:hidden}.btn::after{content:"";position:absolute;top:0;left:-80%;width:50%;height:100%;background:linear-gradient(100deg, transparent, rgba(255, 255, 255, 0.4), transparent);transform:skewX(-20deg);transition:left .6s}.btn:hover::after{left:130%}.btn:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(0,0,0,.2666666667)}.btn:active{transform:translateY(0) scale(0.97)}.nav a:not(.btn){position:relative;border:0}.nav a:not(.btn)::after{content:"";position:absolute;left:0;bottom:0;height:3px;width:100%;background:#1c7f57;transform:scaleX(0);transform-origin:left;transition:transform .3s}.nav a:not(.btn):hover::after{transform:scaleX(1)}.brand img{transition:transform .5s cubic-bezier(0.3, 1.6, 0.5, 1)}.brand:hover img{transform:scale(1.18) rotate(-4deg)}.hero .slide img{transition:transform .25s ease-out}.tick{transition:color .2s,border-color .2s,padding .2s}.tick:hover{color:#fff;border-top-color:#fff;padding-top:1rem}.arrow{transition:transform .2s,background .2s}.arrow:hover{transform:scale(1.15)}.grid button{position:relative;transition:transform .3s,box-shadow .3s}.grid button:hover{transform:scale(1.03) rotate(-0.6deg);box-shadow:0 14px 30px rgba(0,0,0,.3333333333);z-index:2}.grid button::after{content:"+";position:absolute;right:.6rem;bottom:.6rem;width:36px;height:36px;border-radius:50%;background:#1c7f57;color:#fff;font-size:1.4rem;line-height:36px;text-align:center;opacity:0;transform:scale(0.4) rotate(-90deg);transition:.3s}.grid button:hover::after{opacity:1;transform:none}.filters button{transition:transform .2s,background .2s,color .2s}.filters button:hover{transform:translateY(-3px);background:#1c7f57;border-color:#1c7f57;color:#fff}.grade{transition:transform .3s,box-shadow .3s,border-color .3s}.grade:hover{transform:translateY(-8px);box-shadow:0 18px 34px rgba(0,0,0,.2);border-top-color:#1c7f57}.values li{transition:transform .25s,border-color .25s}.values li:hover{transform:translateX(8px);border-color:#1c7f57}.steps li{transition:transform .3s,border-color .3s}.steps li:hover{transform:translateY(-6px);border-color:#1c7f57}.steps li::before{transition:transform .3s}.steps li:hover::before{transform:scale(1.25);transform-origin:left;color:#1c7f57}.info a{transition:transform .2s,color .2s}.info a:hover{transform:translateX(6px)}form{transition:box-shadow .3s}form:focus-within{box-shadow:0 16px 50px rgba(28,127,87,.2509803922)}.wa{animation:pulse 2.4s infinite;transition:transform .2s}.wa:hover{transform:scale(1.08)}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(37,211,102,.6)}70%{box-shadow:0 0 0 16px rgba(37,211,102,0)}100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}}.rv{opacity:0;transform:translateY(54px) scale(0.93);transition:opacity .6s ease,transform .85s cubic-bezier(0.2, 1.1, 0.3, 1)}.rv.in{opacity:1;transform:none}.card{position:relative;display:block;background:#fff;padding:1.8rem;border-radius:4px;border-bottom:5px solid #6e3510;box-shadow:0 6px 20px rgba(0,0,0,.0666666667);text-decoration:none;color:#1f1a16;overflow:hidden;z-index:0;transition:transform .35s cubic-bezier(0.2, 0.8, 0.2, 1),box-shadow .35s,color .35s,border-color .35s}.card::before{content:"";position:absolute;inset:0;background:#6e3510;transform:translateY(101%);transition:transform .45s cubic-bezier(0.2, 0.8, 0.2, 1);z-index:-1}.card:hover::before,.card:focus-visible::before{transform:none}.card:hover,.card:focus-visible{transform:translateY(-8px);color:#fff;border-color:#1c7f57;box-shadow:0 22px 44px rgba(110,53,16,.4)}.card .ic{width:56px;height:56px;padding:13px;border-radius:50%;background:#ecedea;stroke:#6e3510;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;margin-bottom:1.1rem;transition:transform .5s cubic-bezier(0.3, 1.6, 0.5, 1),background .3s,stroke .3s}.card:hover .ic{transform:rotate(-12deg) scale(1.15);background:#1c7f57;stroke:#fff}.card h3{margin-bottom:.4rem}.card p{font-size:.95rem;margin:0 0 1rem}.card .go{font-weight:700;font-size:.9rem;display:inline-block;transition:transform .3s}.card:hover .go{transform:translateX(8px)}footer{padding-bottom:2rem}footer .wrap{align-items:center}.band.ld{background-image:url(../images/road-works-community-facility.jpg)}


.jp-powered {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: rgba(230, 234, 255, 0.65);
  font-size: 0.8rem;
  text-decoration: none;
  transition: color 0.2s;

  img {
    height: 38px;
    width: auto;
  }
}