
:root{
  --bg:#0c0f12; --bg-grad:linear-gradient(180deg,#284b6f,#223140);
  --surface:#12161b; --surface-grad:linear-gradient(180deg,#11161c,#0e1318);
  --text:#e9edf2; --muted:#aab3bf; --line:#232a33; --accent:#4fb6ff;
  --error:#ff3b3b; --ok:#39d98a; --warn:#ffd166;
  --radius:14px; --shadow:0 8px 24px rgba(0,0,0,.35);
  --max: min(1150px, 92vw); --gap: 18px; --bp: 900px;
}
*{box-sizing:border-box;margin:0;padding:0}

body{font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;color:var(--text);background:var(--bg);background-image:var(--bg-grad)}
img{max-width:100%;height:auto;display:block}
a{color:var(--accent);text-decoration:none} a:hover{text-decoration:underline}
.skip-link{position:absolute;left:-9999px} .skip-link:focus{left:12px;top:12px;background:var(--surface);padding:8px 10px;border-radius:8px;outline:2px solid rgba(79,182,255,.45)}
:focus-visible{outline:2px solid rgba(79,182,255,.45);outline-offset:2px}
.wrap{max-width:var(--max);margin:0 auto;padding:24px}
.row{display:flex;gap:var(--gap)} .between{justify-content:space-between}.center{align-items:center}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap)} .grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap)}


@media (max-width:900px){.grid-2,.grid-3{grid-template-columns:1fr}}
.site-header{position:sticky;top:0;z-index:50;backdrop-filter:saturate(180%) blur(8px);background:color-mix(in srgb, var(--bg) 85%, transparent);border-bottom:1px solid var(--line)}
.brand{font-weight:700} .site-nav .menu{display:flex;gap:16px;list-style:none}
.nav-toggle{display:none}
@media (max-width:900px){.nav-toggle{display:inline-block;width:42px;height:36px;background:var(--surface);border:1px solid var(--line);border-radius:8px;position:relative}

.nav-toggle::before,.nav-toggle::after{content:\"\";position:absolute;left:10px;right:10px;height:2px;background:var(--text)}.nav-toggle::before{top:12px}.nav-toggle::after{bottom:12px}
.site-nav .menu{display:none;flex-direction:column;background:var(--surface);border:1px solid var(--line);padding:12px;border-radius:12px;position:absolute;right:24px;top:60px}
.site-nav[aria-expanded=\"true\"] .menu{display:flex}}
.hero{padding:48px 0} .hero .panel{min-height:220px} .hero-copy h1{font-size:clamp(28px,5vw,48px)} .hero-copy .muted{color:var(--muted)}
.hero-media .media-placeholder{height:100%;min-height:220px;background:var(--surface-grad);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.panel{background:var(--surface-grad);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.card{padding:18px} .pad{padding:18px} .cards .card h3{font-size:clamp(18px,2.2vw,22px)}
.btn{display:inline-block;background:var(--accent);color:#04131c;border:1px solid color-mix(in srgb,var(--accent) 65%, #000 35%);padding:10px 14px;border-radius:12px;font-weight:600}
.btn:hover{text-decoration:none;transform:translateY(-1px)} .btn.ghost{background:transparent;color:var(--text);border:1px solid var(--line)}
.split-cards{padding:18px 0}
.steps{padding:24px 0} .step-list{counter-reset:num;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap);list-style:none}
.step-list li{background:var(--surface-grad);border:1px solid var(--line);border-radius:var(--radius);padding:16px}
.step-list li h3{font-size:clamp(18px,2vw,22px)} .step-list li::before{display:inline-grid;place-items:center;width:28px;height:28px;margin-bottom:8px;border-radius:8px;background:var(--accent);color:#04131c;font-weight:700}
@media (max-width:900px){.step-list{grid-template-columns:1fr}}
.gallery{gap:var(--gap)} .gallery .tile{display:block} .gallery img{border-radius:12px;border:1px solid var(--line) ; } //height:60%; width:100%
.reviews{padding:24px 0} .review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap)} .review{background:var(--surface-grad);border:1px solid var(--line);border-radius:var(--radius);padding:16px} .review .who{font-weight:600;margin-top:8px;color:var(--muted)}
@media (max-width:900px){.review-grid{grid-template-columns:1fr}}
.form label{display:block;margin:8px 0 4px} .form input,.form select,.form textarea{width:100%;background:#0c1116;border:1px solid var(--line);color:var(--text);padding:10px 12px;border-radius:10px;resize: none;}
.form .form-msg{margin-top:10px} .form .ok{color:var(--ok)} .form .error{color:var(--error)}
.site-footer{border-top:1px solid var(--line);margin-top:24px} .site-footer .tiny{font-size:.9rem}
.error-page{display:grid;place-items:center;min-height:70vh;text-align:center}
.error-box{max-width:600px;padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-grad);box-shadow:var(--shadow)}
.error-code{font-size:clamp(42px,8vw,72px);font-weight:800;letter-spacing:1px} .error-msg{color:var(--muted);margin:8px 0 16px}
label {font-weight:800;}




legend {
   margin: 5px;
  color: white;
  padding: 10px;
}

input {
  margin: 5px;
  background-color: #444444;
  
  color:var(--text);
  border-radius:3px;
}

.calendar {
    display: flex;
    flex-flow: column;
}
.calendar .header .month-year {
    font-size: 20px;
    font-weight: bold;
    color: #636e73;
    padding: 20px 0;
}
.calendar .days {
    display: flex;
    flex-flow: wrap;
}
.calendar .days .day_name {
    width: calc(100% / 7);
    border-right: 1px solid #2c7aca;
    padding: 20px;
    text-transform: uppercase;
    font-size: 12px;
    font-weight: bold;
    color: #818589;
    color: #fff;
    background-color: #448cd6;
}
.calendar .days .day_name:nth-child(7) {
    border: none;
}
.calendar .days .day_num {
    display: flex;
    flex-flow: column;
    width: calc(100% / 7);
    border-right: 1px solid #e6e9ea;
    border-bottom: 1px solid #e6e9ea;
    padding: 15px;
    font-weight: bold;
    color: #7c878d;
    cursor: pointer;
    min-height: 100px;
}
.calendar .days .day_num span {
    display: inline-flex;
    width: 30px;
    font-size: 14px;
}
.calendar .days .day_num .event {
    margin-top: 10px;
    font-weight: 500;
    font-size: 14px;
    padding: 3px 6px;
    border-radius: 4px;
    background-color: #f7c30d;
    color: #fff;
    word-wrap: break-word;
}
.calendar .days .day_num .event.green {
    background-color: #51ce57;
}
.calendar .days .day_num .event.blue {
    background-color: #518fce;
}
.calendar .days .day_num .event.red {
    background-color: #ce5151;
}
.calendar .days .day_num:nth-child(7n+1) {
    border-left: 1px solid #e6e9ea;
}
.calendar .days .day_num:hover {
    background-color: #fdfdfd;
}
.calendar .days .day_num.ignore {
    background-color: #fdfdfd;
    color: #ced2d4;
    cursor: inherit;
}
.calendar .days .day_num.selected {
    background-color: #f1f2f3;
    cursor: inherit;
}