:root{--cw-ui-ink:#202321;--cw-ui-muted:#545b55;--cw-ui-accent:#2f5156;--cw-ui-line:#c8ccc6;--cw-ui-paper:#f5f2eb;--cw-ui-radius:6px;--cw-ui-font:"DM Sans",Arial,Helvetica,sans-serif}
.cw-web,.cw-web-toolnav,castlewood-spec-lock,#cw-planner,body.cw-workspace{font-family:var(--cw-ui-font);color:var(--cw-ui-ink)}
body.cw-workspace{--ink:var(--cw-ui-ink);--muted:var(--cw-ui-muted);--accent:var(--cw-ui-accent);--teal:var(--cw-ui-accent);--line:var(--cw-ui-line);font-size:15px}
.cw-web-toolnav a{font-size:14px;min-height:44px;display:inline-flex;align-items:center;letter-spacing:0;text-transform:none}
.cw-web .cw-btn,castlewood-spec-lock .cwsl-btn,#cw-planner .cp-btn,.cw-workspace .primary-button,.cw-workspace .secondary-button,.cw-workspace button.primary,.cw-workspace .btn{border-radius:var(--cw-ui-radius);font:600 14px/1.4 var(--cw-ui-font);letter-spacing:0;text-transform:none;min-height:44px;padding:11px 18px;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:background-color .16s ease,border-color .16s ease,color .16s ease}
.cw-web .cw-btn,castlewood-spec-lock .cwsl-btn:not(.cwsl-secondary),#cw-planner .cp-btn.primary,.cw-workspace .primary-button,.cw-workspace button.primary{background:var(--cw-ui-accent);border:1px solid var(--cw-ui-accent);color:#fff}
.cw-web .cw-btn:hover,castlewood-spec-lock .cwsl-btn:not(.cwsl-secondary):hover,#cw-planner .cp-btn.primary:hover,.cw-workspace .primary-button:hover,.cw-workspace button.primary:hover{background:#213e42;border-color:#213e42;color:#fff}
.cw-web .cw-btn--secondary,castlewood-spec-lock .cwsl-btn.cwsl-secondary,#cw-planner .cp-btn:not(.primary),.cw-workspace .secondary-button{background:#fff;border:1px solid var(--cw-ui-line);color:var(--cw-ui-ink)}
.cw-web .cw-btn--secondary:hover,castlewood-spec-lock .cwsl-btn.cwsl-secondary:hover,#cw-planner .cp-btn:not(.primary):hover,.cw-workspace .secondary-button:hover{background:var(--cw-ui-paper);border-color:var(--cw-ui-accent);color:var(--cw-ui-ink)}
.cw-web-next .cw-btn{background:transparent;border-color:#fff;color:#fff}
.cw-web :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=range]),castlewood-spec-lock :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=range]),#cw-planner :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=range]),.cw-workspace :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=range]){font:400 16px/1.4 var(--cw-ui-font);color:var(--cw-ui-ink);border-color:var(--cw-ui-line);border-radius:var(--cw-ui-radius);min-height:44px}
.cw-web :is(button,a,input,select,textarea,summary):focus-visible,castlewood-spec-lock :is(button,a,input,select,textarea,summary):focus-visible,#cw-planner :is(button,a,input,select,textarea,summary):focus-visible,.cw-workspace :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--cw-ui-accent);outline-offset:3px}
.cw-web-tools{padding-top:44px}
.cw-web-tools .cw-web-header{margin-bottom:28px;max-width:850px}
.cw-web-tools .cw-web-header h1{font-size:clamp(38px,4vw,60px);margin-block:12px 16px}
.cw-web-tools .cw-web-lead{font-size:17px;line-height:1.6}
.cw-web-tools .cw-planning-routes{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.cw-web-tools .cw-planning-routes .cw-web-card{padding:26px;border-radius:var(--cw-ui-radius);background:#fff;gap:0}
.cw-web-tools .cw-planning-routes h2{font-size:clamp(27px,2.5vw,35px);line-height:1.2;margin-bottom:16px}
.cw-web-tools .cw-planning-routes p:not(.cw-eyebrow){font-size:16px;line-height:1.6;margin-bottom:24px}
.cw-web-tools .cw-planning-routes .cw-eyebrow{font-size:12px;letter-spacing:.05em;color:var(--cw-ui-muted);margin-bottom:14px}
.cw-web-tools .cw-planning-routes>.cw-web-card>.cw-btn{margin-top:auto;padding:12px 18px;width:100%;text-align:center}
.cw-planning-specialties{margin-top:34px;padding-top:28px;border-top:1px solid var(--cw-ui-line)}
.cw-web .cw-planning-specialties>h2{font:500 24px/1.3 var(--cw-ui-font);margin:0 0 20px;letter-spacing:0}
.cw-planning-specialties .cw-web-card{padding:24px;border-radius:var(--cw-ui-radius);background:var(--cw-ui-paper)}
.cw-planning-specialties .cw-web-card h3{font:600 20px/1.35 var(--cw-ui-font)}
.cw-planning-specialties .cw-web-card p{font-size:15px;line-height:1.6;margin-bottom:20px}
.cw-web .cw-planning-specialties .cw-btn{padding:11px 18px}
.cw-planning-help{padding-top:10px}
.cw-account-destinations{display:grid;gap:22px;margin-block:24px}
.cw-account-destinations p{font-size:14px;line-height:1.5;margin:8px 0 0;color:var(--cw-ui-muted)}
.cw-footer-accounts{display:flex;flex-wrap:wrap;gap:8px 24px;padding:16px 0;border-top:1px solid currentColor}
.cw-footer-accounts a{min-height:44px;display:inline-flex;align-items:center;font-size:14px;text-underline-offset:4px}
castlewood-spec-lock[data-cw-room-flow] .cw-rf-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;margin:0 0 20px;border:1px solid var(--cw-ui-line);border-radius:var(--cw-ui-radius);background:var(--cw-ui-paper)}
castlewood-spec-lock[data-cw-room-flow] .cw-rf-summary-copy{min-width:0}
castlewood-spec-lock[data-cw-room-flow] .cw-rf-summary-copy>strong{font-size:18px;line-height:1.3;text-transform:none;text-decoration:none}
castlewood-spec-lock[data-cw-room-flow] .cw-rf-summary-copy>p{font-size:14px;line-height:1.5;margin:4px 0 0}
castlewood-spec-lock[data-cw-room-flow] .cw-rf-summary-actions{display:flex;flex-wrap:wrap;gap:8px;flex:0 0 auto}
castlewood-spec-lock .cwsl-stage-head{padding-block:16px}
castlewood-spec-lock[data-current-step="5"] .cwsl-stage-head h2{font-size:26px;margin-bottom:0}
castlewood-spec-lock .cwsl-sidecart>h3{font-size:21px;font-weight:600!important;text-decoration:none;line-height:1.3;margin-bottom:14px}
castlewood-spec-lock .cwsl-size-filters{margin-block:10px}
castlewood-spec-lock .cwsl-size-filters>summary,castlewood-spec-lock .cwsl-assembly-help>summary{cursor:pointer;min-height:44px;align-content:center;font-size:14px;font-weight:500}
castlewood-spec-lock .cwsl-assembly-bulk{display:flex;align-items:flex-start;flex-wrap:wrap;gap:6px 18px;padding:10px 14px;margin:0 0 16px;border-radius:var(--cw-ui-radius)}
castlewood-spec-lock .cwsl-assembly-bulk>label{min-height:44px;display:flex;align-items:center;margin:0}
castlewood-spec-lock .cwsl-assembly-help{flex:1;min-width:150px}
castlewood-spec-lock .cwsl-assembly-help p{font-size:14px;line-height:1.5;margin:8px 0}
castlewood-spec-lock .cwsl-category{min-height:40px;font-size:14px;border-radius:var(--cw-ui-radius)}
castlewood-spec-lock .cwsl-filter-label{font-size:14px}
.cw-workspace .primary-button,.cw-workspace .secondary-button,.cw-workspace .text-button,.cw-workspace button.primary{font-family:var(--cw-ui-font)}
@media(max-width:900px){.cw-web-tools .cw-planning-routes{grid-template-columns:1fr}.cw-web-tools .cw-planning-routes .cw-web-card{padding:24px}.cw-web-tools .cw-planning-routes h2{font-size:30px}.cw-web-tools .cw-planning-routes>.cw-web-card>.cw-btn{width:auto}.cw-planning-specialties .cw-web-grid--two{grid-template-columns:1fr}}
@media(max-width:760px){castlewood-spec-lock[data-cw-room-flow] .cw-rf-summary{align-items:flex-start;flex-direction:column;gap:10px}castlewood-spec-lock[data-cw-room-flow] .cw-rf-summary-actions{width:100%}castlewood-spec-lock[data-cw-room-flow] .cw-rf-summary-actions>.cwsl-btn{flex:1}.cw-web-tools{padding-top:30px}.cw-web-tools .cw-web-header{margin-bottom:22px}.cw-workspace :is(input,select,textarea){max-width:100%}}
@media(prefers-reduced-motion:reduce){.cw-web .cw-btn,castlewood-spec-lock .cwsl-btn,#cw-planner .cp-btn,.cw-workspace button{transition:none}}

castlewood-spec-lock .cwsl-size-filters>summary{display:list-item}
castlewood-spec-lock[data-cw-room-flow] .cw-rf-summary-actions .cwsl-btn{font-size:14px;padding:11px 18px}
castlewood-spec-lock :is(.cwsl-size-filters,.cwsl-assembly-help)>summary::after{content:"+";display:inline-block;margin-left:12px;font-size:18px;line-height:1;color:var(--cw-ui-accent)}
castlewood-spec-lock :is(.cwsl-size-filters,.cwsl-assembly-help)[open]>summary::after{content:"−"}
body.cw-workspace .button{border-radius:var(--cw-ui-radius);font:600 14px/1.4 var(--cw-ui-font);letter-spacing:0;text-transform:none;min-height:44px;padding:11px 18px;display:inline-flex;align-items:center;justify-content:center;gap:8px}
body.cw-workspace .button:not(.primary){background:#fff;border:1px solid var(--cw-ui-line);color:var(--cw-ui-ink)}
body.cw-workspace :is(.text-button,.minor-action){font:500 14px/1.4 var(--cw-ui-font);min-height:44px}
body.cw-workspace .icon-button{min-height:44px;min-width:44px;border-radius:var(--cw-ui-radius)}
body.cw-workspace nav button{font-family:var(--cw-ui-font);font-size:14px;min-height:44px}
