@font-face{font-family:Satoshi;src:url('./fonts/satoshi-400.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Satoshi;src:url('./fonts/satoshi-700.woff2') format('woff2');font-weight:700;font-display:swap}
:root{font-family:Satoshi,Arial,sans-serif;color:#112420;background:#f3faf7;font-synthesis:none}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0}
button,input{font:inherit}
.wrap{width:min(100% - 40px,1120px);margin:0 auto;padding:52px 0 46px}
.hero{display:flex;align-items:center;justify-content:space-between;gap:36px;padding-bottom:27px;border-bottom:2px solid #142b26}
.hero-copy{max-width:780px}
h1,h2,h3,p{margin-top:0}
h1{font-size:clamp(2.25rem,4.5vw,3.55rem);line-height:1.07;letter-spacing:-.055em;margin-bottom:16px;font-weight:700}
.hero-copy>p:not(.sync-status){font-size:1.13rem;line-height:1.55;max-width:715px;margin:0}
.sync-status{margin:13px 0 0;color:#608079;font-size:.84rem}
.sync-status.error{color:#9a3d31}
.progress-ring{--percent:0%;flex:0 0 150px;width:150px;height:150px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#b6fa6b var(--percent),#d9e8e1 var(--percent));transition:background .25s}
.progress-ring-inner{width:125px;height:125px;border-radius:50%;background:#f3faf7;display:flex;flex-direction:column;align-items:center;justify-content:center}
.progress-ring strong{font-size:2rem;line-height:1;letter-spacing:-.06em}
.progress-ring span{font-size:.8rem;margin-top:5px}
.owners{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:25px}
.owner-card,.phase-card,.rules-card,.process-grid{background:#fff;border:1px solid #cddbd3;border-radius:16px;box-shadow:0 3px 14px rgba(16,36,32,.025)}
.owner-card{padding:20px 20px 22px;min-height:170px}
.owner-title{display:flex;align-items:flex-start;gap:12px}
.owner-title h2{font-size:1.05rem;line-height:1.3;margin:2px 0 9px}
.owner-card p{font-size:.95rem;line-height:1.48;margin:0;color:#485c56}
.badge{font-size:.77rem;line-height:1;padding:6px 12px;border-radius:100px;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;color:#112420}
.badge.sez{background:#b9fa70}
.badge.allen{background:#102420;color:#fff}
.badge.both{background:#fff;border:1px dashed #102420;padding:5px 11px}
.section-heading{font-size:1.55rem;letter-spacing:-.045em;margin:0 0 20px;line-height:1.2}
.process-section{margin-top:54px}
.process-grid{display:grid;grid-template-columns:repeat(5,1fr);overflow:hidden}
.process-step{padding:18px 17px 20px;min-height:216px;position:relative}
.process-step:not(:last-child){border-right:1px solid #dce5e0}
.step-number{font-size:1.72rem;line-height:1;display:block;margin-bottom:13px}
.process-step h3{font-size:1rem;margin:0 0 10px}
.process-step p{color:#4b5d58;font-size:.92rem;line-height:1.48;margin:9px 0 0}
.weekly-note{color:#50625d;font-size:.94rem;margin:11px 0 0}
.plan-section{margin-top:54px}
.plan-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}
.plan-heading .section-heading{margin-bottom:16px}
.filters{display:flex;gap:7px;margin-bottom:16px}
.filter{background:#fff;border:1px solid #d3e0d8;border-radius:100px;padding:8px 16px;cursor:pointer;color:#102420;font-size:.83rem}
.filter.active{background:#102420;border-color:#102420;color:#fff}
.filter:focus-visible,.phase-link:focus-visible,.task-label:focus-within{outline:3px solid #81bd44;outline-offset:3px}
.phase-nav{display:grid;grid-template-columns:repeat(6,1fr);gap:9px;margin-bottom:25px}
.phase-link{text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:1px;font-size:.83rem}
.phase-link-line{height:8px;border-radius:9px;background:#d7e4dd;margin-bottom:8px;position:relative;overflow:hidden}
.phase-link-line:before{content:"";display:block;width:var(--bar-width,0%);height:100%;background:#a5ec63;transition:width .2s}
.phase-link strong{line-height:1.15}
.phase-link small{font-size:.78rem;color:#475a54}
.phase-list{display:grid;gap:16px}
.phase-card{scroll-margin-top:20px;padding:28px;display:grid;grid-template-columns:28% 1fr;gap:28px}
.phase-card[hidden],.task[hidden]{display:none}
.phase-info{display:flex;flex-direction:column;align-items:flex-start}
.phase-period{font-size:.88rem;color:#50615c;margin-bottom:4px}
.phase-info h3{font-size:1.48rem;letter-spacing:-.04em;margin:0 0 7px}
.phase-info p{font-size:.93rem;color:#52615c;line-height:1.45;margin:0 0 15px;max-width:220px}
.phase-count{font-size:.9rem;margin-top:auto}
.bar{width:min(100%,230px);height:8px;border-radius:8px;background:#dce7df;margin-top:10px;overflow:hidden}
.bar span{display:block;height:100%;width:0;background:#a5ec63;transition:width .2s}
.tasks{list-style:none;margin:0;padding:0;display:grid;gap:17px}
.task{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;min-width:0}
.task-label{display:flex;gap:14px;align-items:flex-start;cursor:pointer;min-width:0;flex:1}
.task-label input{position:absolute;opacity:0;width:1px;height:1px}
.check-box{width:23px;height:23px;flex:0 0 23px;border:2px solid #152a25;border-radius:5px;margin-top:1px;display:grid;place-items:center;background:#fff;transition:background .15s}
.task-label input:checked+.check-box{background:#102420}
.task-label input:checked+.check-box:after{content:"";width:10px;height:6px;border-left:2px solid #b6fa6b;border-bottom:2px solid #b6fa6b;transform:translateY(-1px) rotate(-45deg)}
.task-label input:disabled+.check-box{opacity:.6}
.task-copy{display:flex;flex-direction:column;gap:2px;line-height:1.33;min-width:0}
.task-copy strong{font-size:.95rem;font-weight:700}
.task-copy small{font-size:.84rem;color:#617069;line-height:1.35}
.task.done .task-copy strong{text-decoration:line-through;text-decoration-thickness:1px;color:#617069}
.task>.badge{margin-left:auto}
.site-rules{margin-top:54px}
.rules-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.rules-card{padding:24px 28px}
.rules-card h3{font-size:1.12rem;margin:0 0 14px}
.rules-card ul{list-style:none;padding:0;margin:0;display:grid;gap:9px}
.rules-card li{display:flex;align-items:flex-start;gap:10px;color:#354a43;font-size:.95rem;line-height:1.4}
.rules-card li:before{font-weight:700;width:16px;flex:0 0 16px}
.always li:before{content:"✓";color:#318a36}
.never li:before{content:"✕";color:#bc5140}
footer{font-size:.8rem;color:#73817b;text-align:center;margin-top:32px}
@media(max-width:760px){.wrap{width:min(100% - 32px,660px);padding-top:31px}.hero{align-items:flex-start}.progress-ring{flex-basis:110px;width:110px;height:110px}.progress-ring-inner{width:91px;height:91px}.progress-ring strong{font-size:1.55rem}.progress-ring span{font-size:.63rem}.owners{grid-template-columns:1fr}.owner-card{min-height:0}.process-grid{grid-template-columns:repeat(2,1fr)}.process-step{min-height:180px;border-bottom:1px solid #dce5e0}.process-step:nth-child(2n){border-right:0}.phase-nav{overflow-x:auto;grid-template-columns:repeat(6,120px);padding-bottom:6px}.phase-card{grid-template-columns:1fr;gap:20px}.phase-info p{max-width:none}.bar{width:100%}.plan-heading{align-items:flex-start;flex-direction:column;gap:0}.rules-grid{grid-template-columns:1fr}}
@media(max-width:520px){.hero{display:block;position:relative;padding-right:112px;min-height:145px}h1{font-size:2rem}.hero-copy>p:not(.sync-status){font-size:.95rem}.progress-ring{position:absolute;right:0;top:0;width:93px;height:93px}.progress-ring-inner{width:77px;height:77px}.progress-ring strong{font-size:1.35rem}.progress-ring span{font-size:.54rem}.process-grid{grid-template-columns:1fr}.process-step{min-height:0;padding:17px}.process-step:not(:last-child){border-right:0}.section-heading{font-size:1.37rem}.phase-card{padding:21px 17px}.task-label{gap:11px}.task>.badge{font-size:.68rem;padding:5px 8px}.task>.badge.both{padding:4px 7px}.filters{gap:5px}.filter{padding:7px 12px}.rules-card{padding:21px}}
