/* HMDW family: sampled #95bfd6 blue and #382d68 violet, editorial typography. */
:root{--paper:#f7f8fc;--ink:#382d68;--muted:#656579;--line:#dedfeb;--brass:#504080;--surface:#ffffff;--hmdw-blue:#95bfd6;--hmdw-purple:#382d68}
body{background:var(--paper);color:var(--ink);font-family:'Segoe UI',Arial,sans-serif;-webkit-font-smoothing:antialiased}
header{max-width:1440px;padding:28px 5%;min-height:108px;border-color:var(--line)}
.brand{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:32px;letter-spacing:-1.5px;gap:13px}
.brandmark{background:transparent;border:1px solid var(--brass);color:var(--brass);width:38px;height:43px;border-radius:50% 50% 2px 2px;font-style:italic;font-size:29px}
.brand-sub{font-family:'Segoe UI',Arial,sans-serif;font-size:8px;color:var(--muted);font-weight:600;letter-spacing:2px;border-color:var(--line)}
nav{font-size:12px;letter-spacing:.25px;font-weight:500;gap:26px}
nav>a:not(.button){padding:8px 0;border-bottom:1px solid transparent}
nav>a:not(.button):hover{border-color:var(--brass)}
.nav-button{color:var(--muted);font-size:12px}
main{max-width:1440px;padding-top:20px;padding-bottom:90px}
.hero{grid-template-columns:1.08fr 1fr;gap:8%;padding:55px 0 85px;align-items:center}
.hero .eyebrow{font-size:9px;letter-spacing:2.5px;color:var(--brass)}
.dot{background:var(--brass);width:5px;height:5px}
h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400}
h1{font-size:clamp(56px,6.7vw,96px);letter-spacing:-4.8px;line-height:1.02;margin:28px 0}
h1 em{color:var(--brass);font-weight:400}
h2{font-size:42px;letter-spacing:-1.7px;line-height:1.15}
h3{font-size:29px;letter-spacing:-.8px;line-height:1.2}
.lead{font-size:16px;color:var(--muted);line-height:1.85;max-width:385px}
.eyebrow{font-size:9px;font-weight:600;letter-spacing:2.3px;color:var(--brass)}
.button{background:var(--ink);border-color:var(--ink);border-radius:2px;font-size:12px;font-weight:500;letter-spacing:.5px;padding:16px 24px;gap:28px;transition:background .15s}
.button:hover{background:#514183;border-color:#514183}
.button.secondary{color:var(--ink);border-color:var(--line);background:transparent}
.button.secondary:hover{background:#e9eaf4}
.button.danger{background:#743d35;border-color:#743d35}
.button.small{padding:11px 16px}
.textlink{font-size:12px;font-weight:500;text-decoration-thickness:1px;text-decoration-color:#a6a0c1;text-underline-offset:6px}
.actions{gap:24px;margin:32px 0}
.hero-facts{border-color:var(--line);margin-top:40px;padding-top:24px;gap:36px}
.hero-facts span{color:var(--muted);font-size:10px;letter-spacing:.3px}
.hero-facts strong{font-family:Georgia,serif;font-size:27px;font-weight:400;color:var(--ink);margin-bottom:3px}
.hero-photo{margin:0;position:relative;min-height:510px;height:100%;max-height:620px;background:#222;overflow:hidden;border-radius:4px;isolation:isolate}
.hero-photo img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:58% center;filter:contrast(.95) brightness(.82)}
.hero-photo:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#211744e8);z-index:0}
.hero-photo figcaption{position:absolute;bottom:46px;left:38px;right:24px;color:#fff;z-index:1}
.hero-photo figcaption span:first-child{display:block;font-size:9px;letter-spacing:3px;color:#cce3f0;margin-bottom:12px}
.hero-photo figcaption span:last-child{font-family:Georgia,serif;font-size:30px;line-height:1.2;display:block;max-width:260px}
.photo-index{position:absolute;right:22px;top:50%;writing-mode:vertical-rl;font-size:8px;color:#e5edf8;letter-spacing:3px}
.section-heading{margin:30px 0 28px;align-items:center}
.section-heading>span{font-size:11px;color:var(--muted)}
.notice-grid{gap:24px}
.card{background:var(--surface);border-color:var(--line);border-radius:2px;padding:32px}
.card p{font-size:14px;color:var(--muted);line-height:1.8}
.card.dark{background:#382d68;border-color:#382d68}
.card.dark .eyebrow{color:#b9d7e8}
.card.dark p,.card.dark small{color:#e7e4f2}
.card.dark ol{font-size:13px;line-height:2}
.card.warning{border-left:3px solid var(--brass)}
.video-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:8%;align-items:center;border-top:1px solid var(--line);padding-top:64px;margin-top:72px}
.video-copy h2{max-width:370px;font-size:45px}
.video-copy>p:not(.eyebrow){color:var(--muted);font-size:14px;line-height:1.9;max-width:345px;margin:22px 0}
.video-player{aspect-ratio:16/9;background:#deedf5;position:relative;border:1px solid #c4d9e8;overflow:hidden}
.video-load{border:0;width:100%;height:100%;background:radial-gradient(ellipse at 50% 40%,#ecf5fa,#bbd8e9);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;padding:25px 25px 62px;color:var(--ink)}
.video-load:hover{background:#d3e6f0}
.play-icon{border:1px solid var(--brass);color:var(--brass);border-radius:50%;width:54px;height:54px;display:grid;place-items:center;padding-left:3px;font-size:15px}
.video-load-title{font-family:Georgia,serif;font-size:30px}
.video-load>span:last-child{font-size:9px;letter-spacing:2px;text-transform:uppercase}
.video-privacy{font-size:9px;color:#575c76;position:absolute;bottom:10px;left:20px;right:20px;text-align:center;pointer-events:none}
.video-player iframe{border:0;width:100%;height:100%;display:block}
.page-title{font-size:56px;letter-spacing:-2.8px}
.calendar-toolbar{border-color:var(--line);padding-top:24px}
.calendar-toolbar label{font-size:11px;font-weight:500;color:var(--muted)}
.legend{font-size:11px;gap:18px;flex-wrap:wrap}
.legend i{border-radius:2px;width:12px;height:12px;border:1px solid currentColor;flex-shrink:0}
.free{background:#e8f5ed;color:#205c3b}
.mine{background:#382d68;color:#fff}
.occupied{background:#dcecf8;color:#214b6b}
.closed{background:repeating-linear-gradient(135deg,#eeedf2,#eeedf2 5px,#e4e2e9 5px,#e4e2e9 7px);color:#575362}
.legend i.mine{border-color:#382d68}
.calendar .slot.free{border:1px solid #9fc9ae}
.calendar .slot.occupied{border:1px solid #a7c5dc}
.calendar .slot.closed{border:1px solid #c9c5d0}
.calendar-scroll{border-color:var(--line);border-radius:2px;margin-top:25px}
.calendar thead th{background:#e3eff6;color:#382d68;font-size:11px;font-weight:500;letter-spacing:.3px;padding:22px 10px}
.calendar th small{color:#68637c;font-size:9px;margin-top:4px}
.calendar td,.calendar th{border-color:#eeedf5}
.calendar tbody th{font-weight:400;color:var(--muted);font-size:11px}
.calendar .slot{border-radius:2px;font-size:10px;padding:10px 5px;transition:background .15s}
.calendar button.free:hover{background:#cbe8d5}
.admin-calendar{min-width:1800px;table-layout:fixed}
.admin-calendar thead th:first-child{width:65px}
.calendar .person-slot{white-space:normal;text-align:left;line-height:1.4;padding:10px 9px;min-height:74px}
.person-slot strong{display:block;font-size:11px;font-weight:600;overflow-wrap:anywhere}
.person-slot small{display:block;font-size:10px;margin-top:4px}
.slot-action{font-size:9px;display:block;margin-top:8px;text-decoration:underline;text-underline-offset:3px;color:#514774}
.person-slot.mine small,.person-slot.mine strong,.person-slot.mine .slot-action{color:#fff}
.person-slot.occupied small,.person-slot.occupied strong,.person-slot.occupied .slot-action{color:#214b6b}
a.person-slot:hover{box-shadow:inset 0 0 0 1px var(--brass)}
.booking-card{gap:26px}
.booking-card .eyebrow{font-size:8px}
.booking-card h3{font-size:27px}
.date-tile{border-radius:2px;background:#e8eff8;color:var(--brass);font-size:10px}
.date-tile strong{font-family:Georgia,serif;font-size:30px;font-weight:400}
.form-shell{border-color:var(--line);background:var(--surface);border-radius:3px;padding:40px}
.form-shell h1{font-size:46px;letter-spacing:-2px}
.form-shell label{font-size:12px;font-weight:500}
input,select,textarea{border-color:#c5c6da;border-radius:2px;background:#ffffff;color:var(--ink);font-size:14px}
textarea{width:100%;resize:vertical}
.helptext,.muted{color:var(--muted)}
.helptext{font-size:11px}
.alert{background:#edf1f9;border-color:#cbd1e6;border-radius:2px;font-size:13px;color:#45405d}
.alert.success{background:#e6f1ec;border-color:#bdd7cb}
.alert.error{background:#f5e7df;border-color:#dab7a5}
.badge{background:#d5e4f2;color:var(--ink)}
dialog{border-radius:3px;padding:36px;color:var(--ink);background:var(--surface)}
dialog::backdrop{background:#21174480}
.booking-details{display:grid;grid-template-columns:110px 1fr;gap:10px 15px;font-size:13px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.booking-details dt{color:var(--muted)}
.booking-details dd{margin:0;overflow-wrap:anywhere}
footer{border-color:var(--line);font-size:10px;color:var(--muted);padding-top:30px;padding-bottom:30px}
footer .brand{color:var(--ink)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--brass);outline-offset:4px}
@media(min-width:1500px){.hero-photo{min-height:570px}}
@media(max-width:1000px){.hero{gap:5%;padding-top:35px}.hero-photo{min-height:440px}.hero h1{font-size:72px}.hero-facts{gap:22px}nav{gap:18px}.hero-photo figcaption{left:26px}.hero-photo figcaption span:last-child{font-size:27px}.video-section{gap:5%}.video-copy h2{font-size:37px}}
@media(max-width:650px){header{padding-top:20px;padding-bottom:20px;gap:18px}.brand{font-size:29px}nav{gap:14px;font-size:11px}nav .button{padding:8px 12px}.hero{grid-template-columns:1fr;gap:32px;padding:25px 0 45px}.hero h1{font-size:64px;letter-spacing:-3.8px}.hero .eyebrow{font-size:8px;letter-spacing:2px}.lead{font-size:15px}.hero-photo{min-height:370px;max-height:420px;aspect-ratio:1.1}.hero-photo figcaption{bottom:28px;left:28px}.hero-photo figcaption span:last-child{font-size:30px;max-width:280px}.hero-facts{gap:30px;margin-top:30px}.hero-facts strong{font-size:25px}.actions{gap:20px;margin:28px 0}.button{font-size:11px;padding:14px 18px}.textlink{font-size:11px}.section-heading{align-items:start}h2{font-size:34px}h3{font-size:27px}.card{padding:26px}.video-section{grid-template-columns:1fr;gap:28px;margin-top:45px;padding-top:36px}.video-copy h2{font-size:38px}.video-copy>p:not(.eyebrow){margin:17px 0}.video-load-title{font-size:26px}.video-load{gap:9px;padding-bottom:42px}.play-icon{width:45px;height:45px}.video-privacy{font-size:8px;bottom:5px;left:12px;right:12px}.page-title{font-size:43px;letter-spacing:-2px}.form-shell{padding:26px}.form-shell h1{font-size:39px}.booking-card h3{font-size:25px}.booking-details{grid-template-columns:1fr;gap:3px}.booking-details dd{margin-bottom:12px}.legend{font-size:9px;gap:14px}footer{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Shared HMDW identity and app-specific navigation. */
.hero-photo{min-width:0;width:100%}
@media(max-width:650px){.hero-photo{aspect-ratio:auto;height:370px}}
header{background:var(--hmdw-blue);max-width:none;padding:18px max(5%,calc((100vw - 1296px)/2));border-bottom:4px solid var(--hmdw-purple);gap:28px}
.brand-group{display:flex;align-items:center;gap:24px;flex-shrink:0}
.hmdw-brand{display:flex;align-items:center;justify-content:center;flex-shrink:0}
.hmdw-brand img{width:91px;height:100px;object-fit:contain;display:block;mix-blend-mode:multiply}
.app-brand{display:flex;align-items:flex-start;flex-direction:column;gap:5px;border-left:1px solid #382d6833;padding-left:24px;font-size:27px;line-height:1.15;letter-spacing:-.8px}
.brand-context,.brand-product{font-family:'Segoe UI',Arial,sans-serif;letter-spacing:1.5px;font-size:8px;font-weight:600}
.brand-product{letter-spacing:.4px;font-size:10px;font-weight:400;margin-top:3px}
header nav{justify-content:flex-end;flex-wrap:wrap;gap:20px;font-weight:600;max-width:700px}
header nav>a:not(.button):hover{border-color:var(--hmdw-purple)}
header .nav-button{color:var(--hmdw-purple)}
.hero-photo{box-shadow:14px 14px 0 #e1edf5}
.hero-photo figcaption span:first-child{color:#d7e9f5}
.hero-photo:after{background:linear-gradient(transparent,#211744e8)}
.hero .eyebrow{color:#514183}
.card.dark .eyebrow{color:#b9d7e8}
.card.dark h3{color:#fff}
.footer-brand{display:flex;align-items:center;gap:18px;color:var(--hmdw-purple)}
.footer-brand>a{font-size:30px;font-weight:750;letter-spacing:-1.5px}
.footer-brand>span{font-size:11px;border-left:1px solid var(--line);padding-left:18px}
@media(max-width:1150px){header{gap:18px}.brand-group{gap:16px}.app-brand{padding-left:16px;font-size:24px}header nav{gap:14px}.hmdw-brand img{width:78px;height:87px}}
@media(max-width:800px){header{align-items:center;flex-direction:column;padding:18px 5%;gap:18px}.brand-group{align-self:flex-start}header nav{width:100%;max-width:none;justify-content:flex-start;gap:20px;padding-top:14px;border-top:1px solid #382d6826}.hero-photo{box-shadow:8px 8px 0 #e1edf5}}
@media(max-width:650px){.app-brand{font-size:27px;padding-left:19px}.hmdw-brand img{width:77px;height:85px}.brand-context{font-size:8px}.brand-product{font-size:10px}header nav{gap:14px}.footer-brand{gap:14px}.footer-brand>span{padding-left:14px}}

/* Public information pages and compact mobile footer. */
.information-page{max-width:820px;margin:35px auto;overflow-wrap:anywhere}.information-page h1{font-size:clamp(38px,5vw,64px);letter-spacing:-2px}.information-page h2{font-size:26px;margin-top:36px}.information-page p,.information-page li{line-height:1.8}.information-page a{text-decoration:underline;text-underline-offset:3px}.information-page ul{padding-left:24px}footer{flex-wrap:wrap}.footer-links{width:100%;display:flex;flex-wrap:wrap;gap:12px 24px;font-size:13px}.footer-links a{text-decoration:underline;text-underline-offset:3px}.card.dark .textlink{color:#fff}@media(max-width:650px){.information-page{margin:20px auto}.information-page h2{font-size:23px}.footer-links{gap:10px 20px}}
