:root{--primary:#0050B8;--active:#00449B;--tint:#EAF2FF;--border:#D7D3D3;--fg:#201E1D;--muted:#605D5D;--bg:#F3F2F2}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font-family:Roboto,Arial,sans-serif;font-size:16px;line-height:1.55}header{background:white;border-bottom:1px solid var(--border)}.header-inner{max-width:1280px;margin:auto;display:flex;align-items:center;gap:32px;padding:20px 40px}.header-inner img{object-fit:contain;object-position:left}.header-label{font-size:12px;letter-spacing:.12em;color:var(--muted);border-left:1px solid var(--border);padding-left:32px}.year{margin-left:auto;color:var(--muted);font-size:14px}main{max-width:1280px;margin:auto;padding:40px}.intro{display:flex;justify-content:space-between;align-items:center;gap:32px;margin-bottom:32px}.eyebrow{font-size:12px;font-weight:600;letter-spacing:.1em;color:var(--primary);margin:0 0 12px}h1{font-size:44px;line-height:1.05;letter-spacing:-.03em;font-weight:600;margin:0 0 16px}.subtitle{margin:0;color:var(--muted)}.launch-date{background:var(--primary);color:white;border-radius:16px;padding:20px 32px;min-width:240px;display:grid}.launch-date span{font-size:14px}.launch-date span:first-child{font-size:12px;letter-spacing:.1em;font-weight:600}.launch-date strong{font-size:28px;font-weight:600;letter-spacing:-.03em;margin:4px 0}.overview{background:white;border:1px solid var(--border);border-radius:12px;display:grid;grid-template-columns:1fr 1fr 1.25fr 1.25fr;padding:24px;margin-bottom:40px}.overview>div{padding:0 24px;border-right:1px solid var(--border)}.overview>div:first-child{padding-left:0}.overview>div:last-child{border:0}.overview span{display:block;color:var(--muted);font-size:14px}.overview strong{font-size:24px;font-weight:600}.overview-note{font-size:14px;color:var(--muted);align-self:center}.workspace{display:grid;grid-template-columns:280px minmax(0,1fr);gap:40px}aside>.eyebrow{color:var(--muted);margin-bottom:16px}nav{display:grid;gap:8px}.phase-button{display:flex;gap:16px;align-items:center;text-align:left;background:transparent;border:1px solid transparent;border-radius:12px;padding:16px 12px;font:inherit;width:100%;cursor:pointer;color:var(--muted)}.phase-button:hover{background:#EAE9E9}.phase-button[aria-current="step"]{background:var(--tint);border-color:#CBDFFF;color:var(--primary)}.number{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--border);border-radius:9999px;font-size:14px;flex:none;background:white}.phase-button[aria-current="step"] .number{background:var(--primary);color:white;border-color:var(--primary)}.phase-button strong{display:block;font-size:16px;font-weight:600}.phase-button small{font-size:14px}.aside-note{font-size:13px;color:var(--muted);margin:24px 12px}.milestone-card{background:white;border:1px solid var(--border);border-radius:16px;overflow:hidden}.card-head{padding:32px;border-bottom:1px solid var(--border)}.card-meta{display:flex;justify-content:space-between;gap:16px;margin-bottom:16px;font-size:14px;color:var(--primary)}.card-meta span:last-child{color:var(--muted)}h2{margin:0 0 12px;font-size:30px;line-height:1.2;letter-spacing:-.03em;font-weight:600}.description{margin:0;color:var(--muted)}.task-count{font-size:12px;color:var(--muted);letter-spacing:.08em;font-weight:600;padding:24px 32px 8px}.tasks{list-style:none;margin:0;padding:0 32px 24px}.tasks li{display:flex;gap:16px;padding:16px 0;border-bottom:1px solid #EAE9E9}.tasks li:last-child{border:0}.bullet{flex:none;width:20px;height:20px;border:1.75px solid var(--primary);border-radius:6px;margin-top:3px;display:grid;place-items:center;color:var(--primary);font-size:12px}.task-content{flex:1}.owner{display:inline-block;color:var(--muted);font-size:12px;margin-top:8px;background:var(--bg);padding:2px 8px;border-radius:6px}.time{flex:none;width:84px;color:var(--primary);font-size:14px;font-weight:600;padding-top:2px}.note{background:var(--tint);border-left:3px solid var(--primary);margin:0 32px 24px;padding:16px;color:var(--active);font-size:14px}details{margin:0 32px 24px;padding-top:16px;border-top:1px solid var(--border)}summary{cursor:pointer;font-size:14px;font-weight:500;color:var(--primary);min-height:32px}details p{font-size:14px;color:var(--muted);margin-bottom:0}.card-bottom{display:flex;justify-content:space-between;padding:16px 32px;background:#FAFAFA;border-top:1px solid var(--border);gap:16px}button:focus-visible,summary:focus-visible{outline:3px solid var(--primary);outline-offset:3px}.step-control{min-height:44px;border:1px solid var(--border);border-radius:8px;background:white;padding:8px 16px;font:inherit;font-size:14px;cursor:pointer}.step-control.primary{color:white;background:var(--primary);border-color:var(--primary)}.step-control.primary:hover{background:var(--active)}.step-control:disabled{opacity:.4;cursor:default}footer{display:flex;justify-content:space-between;gap:16px;font-size:12px;color:var(--muted);border-top:1px solid var(--border);padding-top:24px;margin-top:48px}@media(max-width:900px){main{padding:24px}.header-inner{padding:16px 24px}.overview{grid-template-columns:1fr 1fr 1fr}.overview-note{display:none}.overview>div:nth-child(3){border:0}.workspace{grid-template-columns:230px minmax(0,1fr);gap:24px}h1{font-size:36px}.card-head{padding:24px}.tasks{padding:0 24px 16px}.task-count{padding-left:24px}.card-meta{flex-wrap:wrap}}@media(max-width:650px){main{padding:24px 16px}.header-inner{padding:16px}.header-label{display:none}.intro{display:block}h1{font-size:36px}.launch-date{margin-top:24px;padding:16px 24px}.overview{padding:16px;gap:16px;grid-template-columns:1fr 1fr}.overview>div{padding:0;border:0}.overview>div:nth-child(3){grid-column:1/-1;border-top:1px solid var(--border);padding-top:12px}.overview strong{font-size:22px}.workspace{display:block}nav{grid-template-columns:1fr 1fr;margin-bottom:24px;gap:8px}.phase-button{padding:12px 8px;gap:8px;background:white;border-color:var(--border)}.phase-button strong{font-size:14px}.phase-button small{font-size:13px}.aside-note{display:none}.number{width:24px;height:24px;font-size:12px}.card-head{padding:24px}h2{font-size:26px}.card-meta{font-size:13px}.time{width:68px;font-size:13px}.note,details{margin-left:24px;margin-right:24px}.card-bottom{padding:16px 24px}footer{flex-direction:column;gap:4px}}
html{scroll-behavior:smooth;scroll-padding-top:24px}.section-links{display:flex;gap:24px;margin:-8px 0 32px;flex-wrap:wrap}.section-links a,.related-emails a{color:var(--primary);text-underline-offset:4px;font-weight:500}.section-links span{font-size:12px;padding:4px 8px;border-radius:6px;background:var(--tint);margin-left:8px}.communications{margin-top:48px;padding-top:40px;border-top:1px solid var(--border)}.communications>.description{margin-bottom:24px}.email-card{margin:0 0 16px;padding:0;border:1px solid var(--border);border-radius:12px;background:white;overflow:hidden}.email-card>summary{padding:24px;display:flex;gap:16px;align-items:center;flex-wrap:wrap;list-style:none;font-size:16px;min-height:80px}.email-card>summary::-webkit-details-marker{display:none}.email-date{font-size:14px;color:var(--muted);min-width:240px}.email-label{flex:1;font-weight:600;color:var(--fg)}.view-label{font-size:14px;color:var(--primary)}.email-card[open] .view-label{font-size:0}.email-card[open] .view-label:after{content:'Close draft';font-size:14px}.email-content{padding:0 24px 24px;border-top:1px solid var(--border)}.send-condition{background:var(--tint);color:var(--active);padding:16px;border-radius:8px;margin-top:24px;font-size:14px}.email-subject{font-size:20px!important;color:var(--fg)!important;font-weight:600;margin:24px 0 16px!important}.email-subject span{display:block;font-size:12px;letter-spacing:.08em;color:var(--muted);margin-bottom:8px}.copy-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}.email-body{white-space:pre-wrap;line-height:1.7;max-width:800px;overflow-wrap:anywhere;user-select:text}.email-copy-status{color:var(--primary)!important;min-height:22px}.related-emails{padding:0 32px 24px;display:flex;gap:12px;flex-wrap:wrap;font-size:14px}.related-emails span{color:var(--muted);width:100%;font-size:12px;letter-spacing:.08em;font-weight:600}@media(max-width:650px){.email-date{width:100%;min-width:0}.email-card>summary{padding:16px}.email-content{padding:0 16px 16px}.related-emails{padding:0 24px 24px}.email-label{min-width:160px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.send-date-label{display:block;font-size:12px;font-weight:600;letter-spacing:.04em;color:var(--muted);margin-bottom:4px}.draft-link{display:block;margin-top:12px;background:var(--tint);color:var(--primary);border-color:#CBDFFF;font-weight:500}.draft-link:hover{background:#CBDFFF}.email-card{scroll-margin-top:24px}

.owners{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.owners .owner{margin:0;font-size:13px;font-weight:500;padding:4px 8px;border:1px solid transparent}.owner.owner-community{background:#EDF7EE;color:#216E2B;border-color:#C6E2C9}.owner.owner-goaccess{background:#EAF2FF;color:#0050B8;border-color:#CBDFFF}.owner.owner-integrator{background:#F3EBFF;color:#6B32A1;border-color:#DECAF2}

.tasks .task-subitems{padding-left:20px;margin:8px 0 0;color:var(--muted);list-style:disc}.tasks .task-subitems li{display:list-item;border:0;padding:4px 0;font-size:14px}

.owner.owner-it{background:#FFF1E5;color:#9A4100;border-color:#F4C49E}

.owner.owner-camera{background:#FCE7F3;color:#9D1758;border-color:#F0A3CA}.tasks>li.resident-email-task{background:#F4F8FF;border:1px solid #CBDFFF;border-left:3px solid var(--primary);border-radius:8px;padding:16px;margin:12px 0}.resident-email-marker{display:flex;align-items:center;gap:8px;color:var(--primary);font-size:12px;font-weight:600;letter-spacing:.04em;margin-bottom:8px}

.overview{grid-template-columns:1fr 1fr 1.25fr}.intro>div:first-child{min-width:0;max-width:800px}.intro h1{font-size:clamp(30px,3.5vw,44px);line-height:1.12}@media(max-width:650px){.overview{grid-template-columns:1fr 1fr}}

/* Responsive roadmap and touch controls */
.mobile-week-picker{display:none}.task-content,.email-label,.email-content,.workspace>*,.overview>div{min-width:0}.owners .owner{max-width:100%;overflow-wrap:anywhere}.email-subject{overflow-wrap:anywhere}button,summary,select{touch-action:manipulation}#milestone{scroll-margin-top:16px}
@media(max-width:900px){
 .workspace{display:block}.workspace aside{margin-bottom:20px}.workspace aside>.eyebrow,.aside-note,#phase-nav{display:none}
 .mobile-week-picker{display:block}.mobile-week-picker label{display:block;font-size:14px;font-weight:600;color:var(--primary);margin-bottom:8px}
 .mobile-week-picker select{display:block;width:100%;max-width:100%;height:52px;border:1px solid var(--border);border-radius:8px;background:white;color:var(--fg);font:inherit;font-size:16px;padding:0 12px}
 .mobile-week-picker select:focus-visible{outline:3px solid var(--primary);outline-offset:3px}
 .intro{align-items:flex-start;gap:24px}.launch-date{min-width:220px}.overview{margin-bottom:24px;padding:20px}.overview>div{padding:0 16px}.overview strong{font-size:20px}
 .email-card>summary{gap:12px}.email-date{min-width:200px}
}
@media(max-width:650px){
 .header-inner{gap:12px;padding:12px 16px}.header-inner img{width:136px;height:36px}.year{font-size:12px;white-space:nowrap}
 main{padding:24px 16px max(24px,env(safe-area-inset-bottom))}.intro{margin-bottom:20px}.intro h1{font-size:30px;line-height:1.16;letter-spacing:-.025em;overflow-wrap:break-word}.subtitle{font-size:16px}
 .launch-date{min-width:0;margin-top:20px;padding:16px 20px;border-radius:12px}.launch-date strong{font-size:28px}.overview{padding:16px;gap:12px}.overview strong{font-size:18px;line-height:1.4}.overview span{font-size:14px}.overview>div{padding:0}
 .card-head{padding:20px 16px}.card-meta{display:grid;gap:4px;font-size:14px;margin-bottom:12px}h2{font-size:25px;line-height:1.2}.task-count{padding:20px 16px 8px}.tasks{padding:0 16px 16px}.tasks>li{gap:10px}.tasks .task-subitems{padding-left:16px}.tasks .task-subitems li{font-size:15px;line-height:1.55}
 .owners{gap:6px}.owners .owner{font-size:14px;line-height:1.4}.tasks>li.resident-email-task{padding:12px;gap:8px}.resident-email-marker{font-size:13px}.draft-link{width:100%;min-height:48px;font-size:15px}
 .note{margin:0 16px 20px;padding:12px;font-size:15px}.card-bottom{padding:16px;gap:8px}.card-bottom .step-control{flex:1;min-width:0;min-height:48px;padding:10px 8px;font-size:14px}
 .communications{margin-top:32px;padding-top:24px}.communications h2{font-size:26px}.email-card>summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:16px}.email-date{grid-column:1/-1;width:auto;min-width:0;font-size:14px}.email-label{min-width:0;font-size:16px;line-height:1.4}.view-label{white-space:nowrap;font-size:14px}.email-content{padding:0 16px 16px}.email-subject{font-size:20px!important}.send-condition{font-size:15px;padding:12px}.email-body{font-size:16px;line-height:1.65}
 .copy-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.copy-actions .step-control{font-size:14px;min-height:48px;padding:10px 8px}.copy-actions .primary{grid-column:1/-1;font-size:16px}
 footer{margin-top:32px;font-size:13px}
}
@media(max-width:360px){.intro h1{font-size:27px}.overview{grid-template-columns:1fr}.overview>div:nth-child(3){grid-column:auto}.overview>div+div{border-top:1px solid var(--border);padding-top:12px}.email-card>summary{grid-template-columns:minmax(0,1fr)}.view-label{justify-self:start}}

.tasks>li.meeting-task{background:#F7F2FF;border:1px solid #DFCDF5;border-left:3px solid #8250B5;border-radius:8px;padding:16px;margin:12px 0}.meeting-marker{display:flex;align-items:center;gap:8px;color:#663494;font-size:12px;font-weight:600;letter-spacing:.04em;margin-bottom:8px}.meeting-marker svg{flex:none}.meeting-task>.bullet{color:#663494;border-color:#8250B5}@media(max-width:650px){.tasks>li.meeting-task{padding:12px;gap:8px}.meeting-marker{font-size:13px}}
