@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');


:root { color-scheme:light; --ink:#173641; --muted:#536a75; --paper:#f4f7f9; --panel:#ffffff; --line:#d8e3e8; --accent:#247b8f; --accent-soft:#e8f4f7; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:112px; }
body { margin:0; background:var(--paper); color:var(--ink); font:15px 'DM Sans',Arial,sans-serif; -webkit-font-smoothing:antialiased; }
button,input,textarea { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
button { cursor:pointer; }
a { color:inherit; text-decoration:none; }
h1,h2,h3,p { margin:0; }
h1,h2,h3 { font-family:Manrope,Arial,sans-serif; }
svg { flex-shrink:0; }
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible { outline:3px solid #318da3; outline-offset:4px; }
.skip-link { position:fixed; left:260px; top:-110px; z-index:40; padding:16px 22px; background:#174654; color:#fff; border-radius:8px; }
.skip-link:focus { top:12px; }
.workspace-main { margin-left:236px; min-width:0; background:linear-gradient(180deg,#edf6f9 0,#f4f7f9 580px); }
.shell { max-width:1270px; margin:0 auto; padding:0 40px; }
.sidebar { width:236px; position:fixed; inset:0 auto 0 0; z-index:20; padding:24px 18px; background:#101b21; border-right:1px solid #263c47; display:flex; flex-direction:column; overflow-y:auto; color:#dbe9ef; }
.sidebar-brand-row { flex-shrink:0; }
.brand { display:block; width:180px; margin:0 auto 13px; }
.brand img { display:block; width:180px; height:180px; object-fit:contain; border-radius:14px; }
.sidebar-mobile-copy { display:none; }
.sidebar-label { display:block; margin:23px 0 14px; padding:0 13px; color:#91adba; font-size:10px; font-weight:600; letter-spacing:1.7px; }
.sidebar-nav { display:grid; gap:8px; }
.sidebar-nav a { display:flex; align-items:center; gap:10px; min-height:48px; padding:13px 12px; color:#b8cdd6; font-size:12px; border:1px solid transparent; border-left:3px solid transparent; border-radius:8px; transition:background .18s,color .18s; }
.sidebar-nav a:hover { color:#fff; background:#213741; }
.sidebar-nav a.current { color:#d4f2f9; background:#24434f; border-left-color:#96d4e4; font-weight:650; }
.sidebar-nav a b { width:20px; height:20px; margin-left:auto; border-radius:5px; background:#3b5b69; color:#e0f3f8; display:grid; place-items:center; font-size:10px; }
.sidebar-bottom { margin-top:auto; padding:18px 13px 0; border-top:1px solid #31464f; }
.sidebar-bottom .sidebar-label { margin:8px 0 15px; padding:0; font-size:9px; }
.sidebar-bottom>svg { color:#9dc9d6; margin-bottom:12px; }
.sidebar-bottom>p { font-size:13px; line-height:1.8; color:#d0e0e7; }
.sidebar-project { display:flex; align-items:center; gap:7px; margin-top:18px; color:#93b2c0; font-size:8px; letter-spacing:.9px; }
.sidebar-project>span { width:5px; height:5px; border-radius:50%; background:#9cd5e4; }
.site-header { position:sticky; top:0; z-index:10; background:#ffffffed; backdrop-filter:blur(16px); border-bottom:1px solid var(--line); }
.header-inner { height:82px; display:flex; justify-content:space-between; align-items:center; gap:24px; }
.header-context { display:flex; align-items:center; gap:12px; color:#758b96; font-size:12px; }
.header-context>span { color:#40616e; font-size:10px; letter-spacing:1.3px; font-weight:700; }
.header-context>strong { color:#3c5967; font-weight:500; }
.button { display:inline-flex; justify-content:center; align-items:center; gap:9px; min-height:46px; padding:12px 18px; border:1px solid transparent; border-radius:8px; font-size:13px; font-weight:650; line-height:1.45; transition:transform .18s,background .18s,box-shadow .18s; }
.button:hover { transform:translateY(-1px); }
.button-outline { background:#fff; border-color:#c6d8e0; color:#284e5d; }
.button-outline:hover { background:#edf7fa; border-color:#89b9c9; }
.button-dark,.button-cyan { background:#1b5668; color:#fff; border-color:#1b5668; box-shadow:0 4px 12px #17465412; }
.button-dark:hover,.button-cyan:hover { background:#267b90; border-color:#267b90; }
.button-cream { background:#fff; color:#173f4d; border-color:#d6e7ec; }
.breadcrumb { display:flex; align-items:center; gap:9px; padding-top:29px; color:#6d8591; font-size:11px; line-height:1.6; }
.breadcrumb strong { color:#3f5c6a; font-weight:500; }
.hero { display:grid; grid-template-columns:minmax(0,1fr) 260px; align-items:center; gap:34px; padding:48px 0 48px; }
.eyebrow { display:flex; align-items:center; gap:8px; color:#2c778b; font-size:10px; letter-spacing:1.6px; font-weight:700; line-height:1.7; }
.eyebrow>span { width:6px; height:6px; border-radius:50%; background:#30899e; }
.hero h1 { font-size:clamp(35px,3.35vw,48px); letter-spacing:-1.7px; line-height:1.25; font-weight:750; margin-top:17px; }
.hero h1 em { color:#3e8191; font-weight:500; font-style:normal; }
.hero-description { font-size:15px; line-height:1.9; color:#536e7a; margin-top:21px; max-width:575px; }
.hero-actions { display:flex; align-items:center; gap:21px; margin-top:27px; }
.hero-actions .button { font-size:12px; }
.hero-document-link { display:inline-flex; align-items:center; gap:8px; font-size:12px; color:#2b6172; line-height:1.7; }
.hero-document-link:hover { color:#0c4559; text-decoration:underline; }
.client-panel { background:#fff; border:1px solid #c9dfe6; border-top:3px solid #71b3c4; padding:25px 24px 0; border-radius:12px; box-shadow:0 10px 30px #294c6010; }
.client-panel>svg { color:#438da0; margin-bottom:20px; }
.small-label { display:block; color:#567884; font-size:10px; font-weight:650; letter-spacing:1.6px; }
.client-panel h2 { font-size:19px; line-height:1.55; font-weight:650; letter-spacing:-.4px; margin:11px 0 23px; overflow-wrap:anywhere; }
.client-bottom { display:flex; align-items:center; gap:7px; padding:15px 0; border-top:1px solid #deeaee; color:#5a7783; font-size:11px; }
.client-bottom>span:last-child { margin-left:auto; font-size:16px; font-weight:700; color:#1a5265; }
.status-dot { width:6px; height:6px; border-radius:50%; background:#3b8e9c; }
.section-heading { display:flex; justify-content:space-between; align-items:center; gap:19px; margin-bottom:21px; }
.section-heading>div:first-child { display:flex; align-items:center; gap:12px; }
.section-heading h2 { font-size:24px; letter-spacing:-.7px; font-weight:700; }
.section-number { font-size:11px; color:#5c8b9d; font-weight:600; }
.muted-note { font-size:12px; line-height:1.7; color:#607d89; }
.proposal-help { color:#5a7581; font-size:13px; line-height:1.8; margin:-8px 0 21px; }
.proposal-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.proposal-card { min-width:0; display:flex; flex-direction:column; text-align:left; color:var(--ink); border:1px solid #d0dfe5; border-radius:13px; padding:27px 28px 18px; box-shadow:0 6px 24px #204b5c08; transition:transform .2s,border .2s,box-shadow .2s; }
.cleaning-card { background:#fffefa; }
.upgrade-card { background:#fff; }
.proposal-card:hover { transform:translateY(-3px); border-color:#78afbe; box-shadow:0 10px 30px #254d5f13; }
.proposal-card.selected { border-color:#4b95a8; box-shadow:inset 0 3px 0 #6aaebe,0 6px 24px #204b5c0b; }
.card-top { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:25px; }
.service-icon { display:grid; place-items:center; width:46px; height:46px; border:1px solid #ead6a7; border-radius:10px; background:#fcf1d9; color:#92702a; }
.upgrade-card .service-icon { background:#eaf4f8; color:#3e8096; border-color:#c5dfe8; }
.badge { display:flex; align-items:center; gap:6px; padding:7px 9px; border:1px solid transparent; border-radius:5px; font-size:9px; letter-spacing:.6px; font-weight:700; white-space:nowrap; }
.badge>span { width:5px; height:5px; border-radius:50%; background:currentColor; }
.amber { background:#fff0cd; color:#805b16; border-color:#ecd59f; }
.green { background:#eaf5f8; color:#32697e; border-color:#c9e1e9; }
.card-eyebrow { color:#577986; font-size:10px; letter-spacing:1px; font-weight:650; }
.proposal-card h3 { font-size:25px; line-height:1.4; letter-spacing:-.65px; font-weight:700; margin:11px 0 14px; overflow-wrap:anywhere; max-width:390px; }
.proposal-card>p { flex:1; font-size:14px; line-height:1.85; color:#5b7580; max-width:380px; }
.card-bottom { display:flex; justify-content:space-between; align-items:flex-end; gap:13px; padding-top:21px; margin-top:25px; border-top:1px solid #dfe8eb; }
.card-bottom>div>span { display:block; font-size:12px; color:#617b87; }
.card-bottom strong { display:block; margin-top:7px; font:750 35px Manrope,Arial,sans-serif; letter-spacing:-1.3px; color:#173f4d; }
.circle-arrow { width:38px; height:38px; display:grid; place-items:center; border:1px solid #b7d4de; color:#33788c; background:#f0f8fa; border-radius:50%; }
.selection-label { display:flex; align-items:center; gap:7px; padding-top:14px; margin-top:19px; border-top:1px solid #e0e9ec; color:#3d788a; font-size:11px; font-weight:500; }
.proposal-card:not(.selected) .selection-label>svg { visibility:hidden; }
.provisional-notice,.location-notice { display:flex; align-items:flex-start; gap:17px; padding:24px; border:1px solid; border-left-width:4px; border-radius:10px; }
.provisional-notice { margin-top:24px; background:#fff6e5; border-color:#e2c990; }
.location-notice { margin-top:17px; background:#eaf5fa; border-color:#b0d0df; }
.notice-icon,.location-icon { display:grid; place-items:center; width:40px; height:40px; border:1px solid; border-radius:9px; flex-shrink:0; }
.notice-icon { background:#f8e9c8; border-color:#e9d29e; color:#886322; }
.location-icon { background:#d9edf5; border-color:#b7d8e5; color:#3d7f97; }
.provisional-notice h3,.location-notice h3 { font-size:15px; line-height:1.7; font-weight:700; margin-bottom:8px; }
.provisional-notice h3 { color:#71501a; }
.location-notice h3 { color:#275b70; }
.provisional-notice p,.location-notice p { font-size:14px; line-height:1.9; max-width:850px; white-space:pre-line; overflow-wrap:anywhere; }
.provisional-notice p { color:#785f34; }
.location-notice p { color:#416b7c; }
.notice-tag { margin-left:auto; padding-top:4px; color:#93753f; font-size:9px; font-weight:600; letter-spacing:.6px; white-space:nowrap; }
.detail-section { padding:51px 0 44px; }
.segmented { display:flex; gap:4px; padding:4px; background:#e6eef2; border:1px solid #cbdce3; border-radius:9px; }
.segmented button { display:flex; align-items:center; justify-content:center; gap:7px; border:1px solid transparent; border-radius:6px; background:transparent; padding:9px 13px; min-height:36px; color:#577580; font-size:12px; font-weight:550; }
.segmented .active { background:#fff; border-color:#c1d9e2; color:#1c596d; box-shadow:0 2px 6px #204d6010; }
.detail-grid { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:22px; }
.scope-panel,.conditions-panel { background:#fff; border:1px solid #d5e2e8; border-radius:11px; box-shadow:0 4px 20px #2a536108; }
.scope-panel { padding:29px; }
.scope-heading { display:flex; justify-content:space-between; align-items:center; gap:17px; }
.scope-heading .eyebrow { font-size:10px; letter-spacing:1.4px; }
.scope-heading h3 { font-size:23px; line-height:1.5; font-weight:650; letter-spacing:-.6px; margin-top:9px; }
.scope-original { max-width:110px; font-size:11px; line-height:1.7; text-align:right; color:#5d8190; }
.scope-description { font-size:14px; line-height:1.9; color:#526f7c; margin-top:20px; white-space:pre-line; overflow-wrap:anywhere; }
.scope-list { display:grid; gap:16px; list-style:none; padding:0; margin:25px 0 27px; }
.scope-list li { display:flex; align-items:flex-start; gap:11px; font-size:14px; line-height:1.8; color:#355c6d; }
.scope-list svg { margin-top:4px; color:#358b9c; }
.scope-footnote { display:flex; align-items:flex-start; gap:11px; background:#f0f7fa; border:1px solid #cfE2ea; border-radius:7px; padding:17px; }
.scope-footnote>svg { color:#43859a; margin-top:3px; }
.scope-footnote p { font-size:12px; line-height:1.9; color:#4b7182; }
.conditions-panel { padding:27px; }
.conditions-header { display:flex; align-items:center; gap:9px; padding-bottom:18px; border-bottom:1px solid #dce7ec; color:#3b748a; }
.conditions-header h3 { font:650 13px 'DM Sans',Arial,sans-serif; }
.conditions-panel dl { margin:20px 0; }
.conditions-panel dl>div+div { margin-top:20px; }
.conditions-panel dt { display:flex; align-items:center; gap:6px; color:#6a8592; font-size:12px; }
.conditions-panel dd { color:#315969; font-size:14px; line-height:1.8; margin:7px 0 0; overflow-wrap:anywhere; }
.conditions-total { display:flex; justify-content:space-between; align-items:center; gap:11px; padding-top:20px; border-top:1px solid #dce7ec; }
.conditions-total>span { font-size:11px; color:#62808e; }
.conditions-total strong { font-size:23px; letter-spacing:-.7px; white-space:nowrap; }
.conditions-panel>.button { display:flex; width:100%; margin-top:20px; padding-left:12px; padding-right:12px; font-size:11px; }
.conditions-panel>.button>svg:last-child { margin-left:auto; }
.video-section { padding:10px 0 44px; }
.instagram-link { display:inline-flex; align-items:center; gap:7px; color:#326d82; font-size:12px; }
.instagram-link:hover { text-decoration:underline; }
.video-intro { font-size:14px; line-height:1.9; color:#5b7886; margin:-3px 0 24px; max-width:820px; }
.video-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.video-card { min-width:0; background:#fff; border:1px solid #d1e0e7; border-radius:12px; overflow:hidden; box-shadow:0 4px 18px #204b5b0b; }
.video-card:first-child { border-color:#83b8c9; }
.video-card:first-child .video-copy { background:#f0f8fb; }
.video-frame { position:relative; aspect-ratio:9/16; background:#0c151b; }
.video-frame video { display:block; width:100%; height:100%; object-fit:contain; }
.video-duration { position:absolute; top:12px; right:12px; padding:5px 8px; color:#edf8fc; background:#0b2531db; border:1px solid #7798a855; border-radius:5px; font-size:10px; pointer-events:none; }
.video-copy { padding:21px 19px; }
.video-copy>span { font-size:9px; letter-spacing:1.1px; color:#4b7b8e; font-weight:650; }
.video-copy h3 { font-size:16px; line-height:1.6; font-weight:650; margin-top:9px; }
.video-copy>p { margin-top:10px; color:#648391; font-size:12px; line-height:1.8; }
.video-copy>a { display:inline-flex; align-items:center; gap:6px; margin-top:13px; font-size:11px; line-height:1.8; color:#30748b; }
.video-copy .video-silent-note { display:inline-block; margin-top:12px; padding:5px 8px; border:1px solid #b8d4df; border-radius:5px; color:#3e7286; background:#edf7fa; font-size:8px; letter-spacing:.8px; }
.video-bottom { display:flex; justify-content:space-between; align-items:center; gap:20px; padding-top:18px; font-size:12px; line-height:1.8; color:#5a7b8b; }
.video-bottom>span,.video-bottom>a { display:inline-flex; align-items:center; gap:7px; }
.video-bottom>a { color:#2b6b83; }
.documents-section { padding-top:5px; }
.document-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:21px; margin-bottom:21px; }
.document-tile { background:#fff; border:1px solid #d0e0e7; border-radius:12px; padding:27px; box-shadow:0 4px 18px #204b5b08; }
.document-tile-top { display:flex; align-items:center; justify-content:space-between; gap:17px; margin-bottom:21px; }
.document-tile-top>strong { font:700 25px Manrope,Arial,sans-serif; letter-spacing:-.8px; color:#1d5266; }
.pdf-icon { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; width:54px; height:65px; flex-shrink:0; background:#eaf5f9; border:1px solid #c0dce8; color:#3e839a; border-radius:8px; }
.pdf-icon>span { font-size:8px; letter-spacing:1.2px; font-weight:700; }
.document-page-count { color:#5f8394; font-size:10px; letter-spacing:1.1px; }
.document-tile h3 { font-size:22px; line-height:1.5; font-weight:650; letter-spacing:-.5px; margin:9px 0 12px; }
.document-tile>p { min-height:54px; color:#597a8b; font-size:14px; line-height:1.9; }
.document-tile-actions { display:flex; gap:10px; margin-top:22px; }
.document-tile-actions>.button { flex:1; font-size:12px; padding:11px 13px; }
.document-card { display:flex; align-items:center; gap:19px; background:#fff; border:1px solid #c3dbe5; border-radius:11px; padding:27px; }
.package-document { background:#edf6fa; }
.document-info { flex:1; }
.document-info h3 { font-size:17px; line-height:1.6; font-weight:650; }
.document-info p { font-size:12px; line-height:1.8; color:#5a7c8d; margin-top:6px; }
.document-info p>span { padding:0 5px; }
.document-value { display:block; font-size:11px; color:#3c7991; margin-top:8px; }
.document-actions { display:flex; gap:10px; }
.document-actions .button { font-size:12px; padding:11px 14px; min-height:42px; }
.document-archive { display:flex; align-items:center; gap:8px; padding:16px 3px 0; font-size:11px; line-height:1.8; color:#5f7b89; }
.document-archive>a { display:inline-flex; align-items:center; gap:6px; margin-left:auto; color:#286b85; white-space:nowrap; }
.closing-panel { display:flex; align-items:center; justify-content:space-between; gap:26px; margin-top:40px; padding:34px; border:1px solid #305766; border-radius:12px; background:#193f4e; color:#fff; }
.closing-panel .small-label { color:#b4d7e5; }
.closing-panel h2 { font-size:24px; line-height:1.5; font-weight:600; letter-spacing:-.6px; margin:11px 0 10px; }
.closing-panel p { font-size:14px; line-height:1.9; color:#c2dce6; }
.closing-panel .button { font-size:12px; white-space:nowrap; }
footer { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:105px; border-top:1px solid #d3e1e7; margin-top:36px; color:#607f8f; font-size:11px; }
.footer-brand { display:flex; align-items:center; gap:10px; color:#375f71; font-size:10px; font-weight:650; letter-spacing:.9px; }
.footer-brand img { flex-shrink:0; border-radius:6px; }
footer>span { text-align:center; }
.print-only { display:none; }
dialog { margin:auto; padding:0; max-width:calc(100% - 30px); max-height:90dvh; background:#fff; color:var(--ink); border:1px solid #b5ceda; border-radius:14px; box-shadow:0 25px 100px #0b263b55; }
dialog::backdrop { background:#0b2232b8; backdrop-filter:blur(6px); }
.dialog-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:25px 28px 20px; background:#f8fcfd; }
.dialog-heading h2 { font-size:24px; font-weight:650; letter-spacing:-.6px; margin-top:7px; }
.icon-button { display:grid; place-items:center; width:37px; height:37px; flex-shrink:0; border:1px solid #bed4de; border-radius:7px; background:#fff; color:#426d80; }
.icon-button:hover { background:#e7f4fa; }
.pdf-dialog { width:1000px; height:90dvh; }
.pdf-dialog[open] { display:flex; flex-direction:column; }
.pdf-pages { flex:1; min-height:200px; overflow:auto; padding:19px; display:flex; flex-direction:column; align-items:center; gap:19px; background:#dfe9ef; }
.pdf-pages img { display:block; width:100%; max-width:795px; height:auto; box-shadow:0 2px 12px #24485829; }
.pdf-pages:focus-visible { outline:3px solid var(--accent); outline-offset:-3px; }
.pdf-footer { display:flex; justify-content:space-between; align-items:center; gap:17px; padding:18px 24px; }
.pdf-footer p { font-size:12px; line-height:1.8; color:#5c7b8c; }
@media(min-width:1500px) {
  .sidebar { width:252px; padding:29px 22px; }
  .brand,.brand img { width:198px; height:198px; }
  .workspace-main { margin-left:252px; }
  .hero { grid-template-columns:minmax(0,1fr) 285px; gap:48px; padding:57px 0; }
  .hero h1 { font-size:51px; }
  .proposal-card { padding:31px 32px 20px; }
  .proposal-card h3 { font-size:27px; }
}
@media(min-width:1001px) and (max-width:1200px) {
  .sidebar { width:204px; padding:22px 14px; }
  .brand,.brand img { width:165px; height:165px; }
  .workspace-main { margin-left:204px; }
  .sidebar-nav a { font-size:11px; gap:9px; padding-left:9px; }
  .shell { padding:0 29px; }
  .hero { grid-template-columns:minmax(0,1fr) 225px; gap:25px; }
  .hero h1 { font-size:35px; }
  .hero-actions { flex-wrap:wrap; gap:15px; }
  .hero-document-link { font-size:12px; }
  .detail-grid { grid-template-columns:minmax(0,1fr) 285px; }
  .scope-panel { padding:24px; }
  .scope-heading { align-items:flex-start; }
  .scope-original { max-width:90px; font-size:10px; }
  .notice-tag { display:none; }
  .document-actions { flex-direction:column; }
  .closing-panel { padding:28px; }
  .closing-panel h2 { font-size:21px; }
}
@media(max-width:1000px) {
  html { scroll-padding-top:85px; }
  .workspace-main { margin-left:0; }
  .sidebar { position:relative; width:100%; padding:11px 24px 14px; border:0; border-bottom:1px solid #2c4653; overflow:visible; }
  .sidebar-brand-row { display:flex; align-items:center; gap:18px; padding-bottom:12px; }
  .brand { width:80px; margin:0; }
  .brand img { width:80px; height:80px; border-radius:9px; }
  .sidebar-mobile-copy { display:flex; flex-direction:column; gap:8px; }
  .sidebar-mobile-copy>span { color:#a0becd; font-size:10px; letter-spacing:1.4px; }
  .sidebar-mobile-copy>strong { color:#eff7fa; font:650 19px Manrope,Arial,sans-serif; letter-spacing:-.4px; }
  .sidebar-label,.sidebar-bottom { display:none; }
  .sidebar-nav { display:flex; gap:8px; }
  .sidebar-nav a { flex:1; justify-content:center; min-height:45px; padding:10px; font-size:12px; gap:8px; }
  .sidebar-nav a b { display:none; }
  .site-header { position:relative; }
  .header-inner { height:67px; }
  .shell { padding:0 28px; }
  .hero { grid-template-columns:minmax(0,1fr) 250px; gap:29px; }
  .hero h1 { font-size:39px; }
  .hero-actions { flex-wrap:wrap; gap:16px; }
  .detail-grid { grid-template-columns:minmax(0,1fr) 300px; }
  .notice-tag { display:none; }
  .document-actions { flex-direction:column; }
  .closing-panel h2 { font-size:22px; }
  .closing-panel .button { white-space:normal; }
  .skip-link { left:20px; }
}
@media(max-width:730px) {
  html { scroll-padding-top:24px; }
  .shell { padding:0 20px; }
  .sidebar { padding:10px 14px 13px; }
  .sidebar-nav { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:4px; }
  .sidebar-nav a { flex-direction:column; gap:7px; min-height:76px; padding:11px 3px; font-size:10px; line-height:1.5; text-align:center; border-left:0; border-bottom:2px solid transparent; }
  .sidebar-nav a.current { border-left:0; border-bottom-color:#a5d8e7; }
  .sidebar-nav a svg { width:18px; height:18px; }
  .header-inner { height:62px; gap:15px; }
  .header-context>span,.header-context>svg { display:none; }
  .header-context>strong { font-size:12px; }
  .header-print { min-height:36px; font-size:11px; padding:9px 11px; gap:7px; }
  .header-print>svg { width:14px; height:14px; }
  .breadcrumb { flex-wrap:wrap; padding-top:22px; gap:6px; font-size:10px; }
  .hero { display:block; padding:33px 0 37px; }
  .hero .eyebrow { font-size:10px; letter-spacing:1.1px; }
  .hero h1 { font-size:34px; letter-spacing:-1.2px; margin-top:15px; }
  .hero-description { font-size:14px; line-height:1.9; margin-top:19px; max-width:100%; }
  .hero-actions { margin-top:23px; gap:18px; }
  .hero-actions .button { font-size:12px; }
  .hero-document-link { font-size:12px; }
  .client-panel { margin-top:27px; padding:20px 21px 0; display:grid; grid-template-columns:28px 1fr; column-gap:13px; }
  .client-panel>svg { grid-row:1/3; margin-top:3px; margin-bottom:0; }
  .client-panel .small-label { font-size:9px; }
  .client-panel h2 { font-size:17px; margin:7px 0 0; }
  .client-bottom { grid-column:1/3; margin-top:17px; padding:13px 0; font-size:11px; }
  .section-heading { align-items:flex-start; gap:12px; margin-bottom:19px; }
  .section-heading>div:first-child { gap:9px; }
  .section-heading h2 { font-size:21px; }
  .section-number { font-size:10px; padding-top:5px; }
  .muted-note { max-width:112px; font-size:10px; text-align:right; }
  .proposal-help { font-size:12px; margin-top:-5px; }
  .proposal-grid { grid-template-columns:1fr; gap:19px; }
  .proposal-card { padding:25px 24px 18px; }
  .proposal-card h3 { max-width:100%; font-size:25px; }
  .proposal-card>p { max-width:100%; font-size:14px; }
  .card-bottom strong { font-size:35px; }
  .badge { font-size:8px; padding:6px 8px; }
  .card-eyebrow { font-size:10px; }
  .desktop-break { display:none; }
  .provisional-notice,.location-notice { gap:12px; padding:20px 17px; }
  .notice-icon,.location-icon { width:31px; height:34px; }
  .notice-icon svg,.location-icon svg { width:19px; }
  .provisional-notice h3,.location-notice h3 { font-size:14px; }
  .provisional-notice p,.location-notice p { font-size:13px; line-height:1.9; }
  .detail-section { padding:39px 0 36px; }
  .detail-section>.section-heading { flex-direction:column; gap:15px; }
  .segmented { width:100%; }
  .segmented button { flex:1; font-size:12px; padding:9px 11px; }
  .detail-grid { grid-template-columns:1fr; gap:18px; }
  .scope-panel { padding:24px 21px; }
  .scope-heading { align-items:flex-start; }
  .scope-heading h3 { font-size:22px; }
  .scope-original { max-width:90px; font-size:10px; }
  .scope-description,.scope-list li { font-size:14px; }
  .scope-footnote { padding:15px; }
  .scope-footnote p { font-size:12px; }
  .conditions-panel { padding:25px 22px; }
  .conditions-panel dl { display:grid; grid-template-columns:1fr 1fr; gap:21px; }
  .conditions-panel dl>div+div { margin:0; }
  .conditions-panel dt { font-size:11px; }
  .conditions-panel dd { font-size:13px; }
  .conditions-total strong { font-size:25px; }
  .conditions-panel>.button { font-size:12px; }
  .video-section>.section-heading { flex-direction:column; gap:13px; }
  .video-grid { grid-template-columns:1fr; max-width:380px; margin:0 auto; }
  .video-intro { font-size:13px; margin-top:0; }
  .instagram-link { font-size:12px; }
  .video-bottom { flex-direction:column; align-items:flex-start; gap:12px; font-size:11px; }
  .document-options { grid-template-columns:1fr; gap:18px; }
  .document-tile { padding:24px; }
  .document-tile h3 { font-size:22px; }
  .document-tile>p { min-height:0; font-size:13px; }
  .document-tile-top>strong { font-size:25px; }
  .document-tile-actions>.button { font-size:12px; }
  .document-card { display:grid; grid-template-columns:48px minmax(0,1fr); gap:16px; padding:22px; }
  .pdf-icon { width:48px; height:62px; }
  .document-info h3 { font-size:16px; }
  .document-info p { font-size:12px; }
  .document-value { font-size:11px; }
  .document-actions { grid-column:1/3; flex-direction:row; }
  .document-actions .button { flex:1; font-size:12px; }
  .document-archive { flex-wrap:wrap; font-size:10px; }
  .document-archive>span { flex:1; }
  .document-archive>a { margin-left:22px; }
  .closing-panel { display:block; padding:28px 25px; margin-top:30px; }
  .closing-panel h2 { font-size:24px; }
  .closing-panel p { font-size:13px; }
  .closing-panel .button { width:100%; margin-top:22px; font-size:12px; }
  footer { flex-wrap:wrap; gap:15px; min-height:0; padding:23px 0; margin-top:30px; }
  footer>span { order:3; width:100%; text-align:left; font-size:11px; }
  .footer-brand { font-size:10px; gap:8px; }
  .footer-brand img { width:37px; height:37px; }
  .dialog-heading { padding:22px 20px 18px; }
  .dialog-heading h2 { font-size:21px; }
  .pdf-dialog .eyebrow { font-size:9px; letter-spacing:1px; }
  .pdf-footer { flex-direction:column; align-items:stretch; padding:16px 20px; }
  .pdf-footer p { font-size:11px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { transition:none!important; }
}
@media print {
  @page { size:A4; margin:18mm; }
  :root { color-scheme:light; }
  body { background:#fff; color:#17342f; font-family:Arial,sans-serif; }
  .workspace-main,.sidebar,.skip-link,dialog { display:none!important; }
  .print-only { display:block; font-size:11px; line-height:1.7; }
  .print-only::before { content:''; display:block; float:right; width:64px; height:64px; background:url('logo.jpeg') center / contain no-repeat; -webkit-print-color-adjust:exact; print-color-adjust:exact; }
  .print-only h1 { font-size:21px; margin-bottom:7px; }
  .print-only h2 { font-size:15px; padding-bottom:15px; border-bottom:1px solid #ccc; }
  .print-only h3 { font-size:14px; margin-top:24px; margin-bottom:6px; }
  .print-only h4 { font-size:12px; margin:15px 0 5px; }
  .print-only strong { font-size:20px; }
  .print-only p { margin:9px 0; }
  .print-only a { font-size:9px; overflow-wrap:anywhere; }
  .print-only hr { border:0; border-top:1px solid #ccc; margin-top:23px; }
  a[href]::after { content:none!important; }
}
