* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: #008080; color: #000000; font-family: Verdana, sans-serif; font-size: 15px; line-height: 1.55; }
a { color: #000080; font-weight: bold; }
a:focus, button:focus, input:focus, textarea:focus { outline: 2px solid #000000; outline-offset: 2px; }
.desktop { width: min(1120px, calc(100% - 32px)); margin: 30px auto; }
.window-shell { border: 3px solid #000000; background: #C0C0C0; box-shadow: inset 2px 2px 0 #E8E4D8, inset -2px -2px 0 #000000; }
.title-bar { min-height: 39px; padding: 7px 7px 7px 11px; display: flex; align-items: center; gap: 8px; background: #000080; color: #E8E4D8; font-family: Tahoma, sans-serif; font-size: 16px; line-height: 1.15; }
.window-mark { color: #E8E4D8; }
.window-controls { display: flex; gap: 4px; margin-left: auto; }
.window-controls span { width: 21px; height: 21px; display: grid; place-items: center; border: 2px outset #C0C0C0; background: #C0C0C0; color: #000000; font-family: Tahoma, sans-serif; font-size: 15px; font-weight: bold; line-height: 1; }
.menu-bar { display: flex; gap: 0; padding: 3px 6px; border-bottom: 2px solid #000000; background: #C0C0C0; }
.menu-bar a { padding: 3px 10px; color: #000000; font-family: Tahoma, sans-serif; font-size: 14px; text-decoration: none; }
.menu-bar a:hover { background: #000080; color: #E8E4D8; }
.toolbar { min-height: 49px; display: flex; align-items: center; gap: 8px; padding: 7px; border-bottom: 3px solid #000000; background: #C0C0C0; }
.tool-button { display: inline-block; padding: 5px 8px; border: 2px outset #E8E4D8; background: #C0C0C0; color: #000000; font-family: Tahoma, sans-serif; font-size: 13px; text-decoration: none; }
.tool-button:active { border-style: inset; }
.toolbar-status { margin-left: auto; padding-left: 10px; font-family: monospace; font-size: 12px; }
.main-panel, .information-panel, .contact-panel { margin: 14px; border: 3px inset #C0C0C0; background: #E8E4D8; }
.dialog-title { padding: 5px 9px; border-bottom: 2px solid #000000; background: #C0C0C0; font-family: Tahoma, sans-serif; font-weight: bold; }
.dialog-content { display: grid; grid-template-columns: 1.7fr 1fr; gap: 24px; padding: 24px; }
.lead { margin-top: 0; font-family: Tahoma, sans-serif; font-size: clamp(20px, 3vw, 31px); font-weight: bold; line-height: 1.18; }
.action-row { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.button { display: inline-block; padding: 9px 13px; border: 3px outset #C0C0C0; font-family: Tahoma, sans-serif; font-size: 14px; font-weight: bold; line-height: 1.2; text-decoration: none; cursor: pointer; }
.button:active { border-style: inset; }
.primary-button { background: #000080; color: #E8E4D8; }
.secondary-button { background: #C0C0C0; color: #000000; }
.job-card { align-self: start; border: 3px inset #C0C0C0; background: #C0C0C0; }
.job-card-title { padding: 6px 8px; border-bottom: 2px solid #000000; background: #008080; color: #E8E4D8; font-family: Tahoma, sans-serif; font-weight: bold; font-size: 13px; }
dl { margin: 0; padding: 10px; }
dt { font-family: Tahoma, sans-serif; font-weight: bold; }
dd { margin: 0 0 9px; font-size: 13px; }
.services-section { margin: 20px 14px; }
h2 { margin: 0 0 9px; font-family: Tahoma, sans-serif; font-size: 18px; }
.service-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 13px; }
.service-box { min-width: 0; margin: 0; padding: 13px 14px 12px; border: 3px inset #C0C0C0; background: #E8E4D8; }
.service-box legend { padding: 0 6px; font-family: Tahoma, sans-serif; font-weight: bold; }
.service-box p { margin-top: 4px; }
.service-box ul { margin: 10px 0 0; padding-left: 20px; font-size: 13px; }
.information-content { padding: 17px 21px; }
.information-content p { margin: 0 0 12px; }
.contact-content { display: grid; grid-template-columns: 1fr 1.2fr; gap: 28px; padding: 20px; }
.contact-details p { margin: 0 0 16px; }
.small-note { font-size: 13px; }
.booking-form { display: grid; gap: 6px; align-content: start; }
.booking-form label { font-family: Tahoma, sans-serif; font-weight: bold; font-size: 13px; }
input, textarea { width: 100%; padding: 7px; border: 2px inset #C0C0C0; border-radius: 0; background: #E8E4D8; color: #000000; font: inherit; }
textarea { resize: vertical; }
.booking-form .button { justify-self: start; margin-top: 7px; }
.form-status { min-height: 22px; margin: 2px 0 0; font-family: monospace; font-size: 12px; font-weight: bold; }
.status-bar { min-height: 28px; display: flex; align-items: center; gap: 6px; padding: 4px 7px; border-top: 3px solid #000000; background: #C0C0C0; font-family: monospace; font-size: 11px; }
.status-bar a { color: #000000; }
.status-spacer { flex: 1; }
.social-strip { display: flex; flex-wrap: wrap; gap: 7px 14px; margin: 11px 3px; color: #E8E4D8; font-family: Tahoma, sans-serif; font-size: 13px; }
.social-strip a { color: #E8E4D8; }
.privacy-shell { max-width: 850px; margin: 0 auto; }
.privacy-content { margin: 14px; }
.privacy-text { display: block; padding: 22px; }
.privacy-text h1 { font-family: Tahoma, sans-serif; font-size: 23px; }
.privacy-text h2 { margin-top: 22px; font-size: 17px; }
.privacy-text .button { margin-top: 8px; }
@media (max-width: 760px) { .desktop { width: min(100% - 16px, 1120px); margin: 8px auto 20px; } .title-bar { font-size: 13px; } .window-controls span { width: 18px; height: 18px; } .menu-bar { flex-wrap: wrap; } .toolbar { flex-wrap: wrap; } .toolbar-status { width: 100%; margin-left: 0; padding-left: 0; } .dialog-content, .contact-content { grid-template-columns: 1fr; gap: 16px; padding: 16px; } .service-grid { grid-template-columns: 1fr; } .main-panel, .information-panel, .contact-panel, .services-section { margin-left: 8px; margin-right: 8px; } .status-bar { flex-wrap: wrap; } .status-spacer { display: none; } .status-divider:last-of-type { display: none; } }
@media (max-width: 420px) { body { font-size: 14px; } .menu-bar a { padding-left: 7px; padding-right: 7px; } .tool-button { font-size: 12px; } .status-bar { font-size: 10px; } }