:root{color-scheme:dark;font-family:Arial,Helvetica,sans-serif;color:#f6f2e8;background:#211e19}*{box-sizing:border-box}body{margin:0;min-height:100svh;display:grid;place-items:center}.stage{isolation:isolate;position:relative;width:100%;height:100svh;aspect-ratio:auto;overflow:hidden;background:#211e19}.film-wrap,.shade{position:absolute;inset:0}.film-wrap{z-index:-3}video{display:block;width:100%;height:100%;object-fit:cover}.shade{z-index:-2;background:linear-gradient(0deg,rgba(21,18,14,.54),rgba(21,18,14,.28) 25%,transparent 52%),linear-gradient(105deg,rgba(21,18,14,.24),transparent 50%)}.identity{position:absolute;top:2.1%;left:4.1%;width:18.7%;filter:drop-shadow(0 1px 6px #0003)}.identity img{display:block;width:100%;height:auto}.copy{position:absolute;left:4%;right:4%;bottom:12.4%;text-shadow:0 2px 16px #0003}h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(2rem,4.03vw,7.16svh);line-height:1.13;letter-spacing:-.025em;margin:0 0 1.6vw}p{font-weight:300;font-size:clamp(1rem,1.5vw,2.67svh);line-height:1.45;letter-spacing:.015em;margin:0}.cities{position:absolute;bottom:3.4%;left:4%;right:4%;padding-top:16px;border-top:1px solid #f4e8d44d;color:#eee6d9;font-size:clamp(.75rem,.85vw,1rem);font-weight:400;letter-spacing:.1em}.cities ul{display:flex;align-items:center;gap:0;list-style:none;margin:0;padding:0}.cities li{display:flex;align-items:center;white-space:nowrap}.cities li+li::before{content:"";display:block;width:2px;height:2px;border-radius:50%;background:#cfb98c;margin:0 clamp(16px,2.2vw,36px);opacity:.7}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:650px) and (orientation:portrait){body{display:block}.stage{width:100%;height:auto;aspect-ratio:auto;min-height:100svh;overflow:visible;display:flex;flex-direction:column;padding:28px 24px 24px}.film-wrap{position:relative;inset:auto;z-index:0;margin:112px -24px 0;width:calc(100% + 48px);aspect-ratio:16/9;order:0}.shade{display:none}.identity{left:24px;top:25px;width:210px;max-width:60%}.copy{position:static;order:1;margin-top:34px;text-shadow:none}.copy h1{font-size:clamp(2rem,7.7vw,3rem);line-height:1.15;letter-spacing:-.02em;margin-bottom:20px}.copy p{font-size:1rem;line-height:1.6;max-width:35ch}.desktop-break{display:none}.cities{position:static;order:2;margin-top:auto;padding-top:20px;padding-bottom:4px;font-size:.75rem;letter-spacing:.08em}.cities ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px}.cities li+li::before{display:none}.copy{margin-bottom:38px}}

/* Contact and understated legal footer. */
.copy{bottom:max(calc(12.4% + 24px),136px)}
.footer-row{display:flex;align-items:center;justify-content:space-between;gap:28px}
.contact-link{appearance:none;flex:none;border:0;border-bottom:1px solid transparent;background:none;color:inherit;font:inherit;letter-spacing:inherit;padding:8px 0;cursor:pointer;text-decoration-line:underline;text-decoration-color:#cfb98c;text-decoration-thickness:1px;text-underline-offset:4px;transition:text-decoration-color .2s}
.contact-link:hover{text-decoration-color:transparent}
.contact-link:focus-visible,.dialog-close:focus-visible{outline:1px solid #cfb98c;outline-offset:5px}
.copyright{display:block;margin-top:16px;font-size:10px;line-height:1.5;letter-spacing:.035em;color:#d8d0c3}
.contact-open{overflow:hidden}
.form-dialog{color-scheme:light;position:fixed;inset:0;width:min(640px,calc(100% - 40px));max-height:calc(100svh - 40px);margin:auto;padding:52px 48px 40px;border:1px solid #c4b7a0;background:#f5f2eb;color:#292720;box-shadow:0 20px 80px #0005;overflow:auto}
.form-dialog::backdrop{background:rgba(17,15,12,.6);backdrop-filter:blur(5px)}
.dialog-close{position:absolute;top:14px;right:18px;display:grid;place-items:center;width:36px;height:36px;border:0;background:none;color:#706957;font-size:29px;font-weight:300;cursor:pointer}
.dialog-brand{font-size:10px;letter-spacing:.24em;color:#77684e}
.form-title{font-family:Georgia,'Times New Roman',serif;font-size:42px;font-weight:400;line-height:1.15;letter-spacing:-.02em;margin:17px 0 34px;outline:none}
.modal-form{display:grid;gap:24px}
.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.modal-form label{display:grid;gap:8px;font-size:12px;letter-spacing:.04em}
.optional{color:#716b60;font-size:11px;letter-spacing:0}
.modal-form input,.modal-form textarea{display:block;width:100%;min-width:0;border:0;border-bottom:1px solid #bdb4a5;border-radius:0;padding:9px 0;background:transparent;color:#292720;font:16px/1.5 Arial,Helvetica,sans-serif;resize:vertical;outline:none}
.modal-form input:focus,.modal-form textarea:focus{border-bottom-color:#78613f;box-shadow:0 1px 0 #78613f}
.form-actions{display:flex;justify-content:flex-end;margin-top:4px}
.send-message{border:1px solid #a79a82;background:transparent;color:#4b4438;padding:12px 22px;font:12px Arial,Helvetica,sans-serif;letter-spacing:.06em}
.send-message:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:800px){.cities li+li::before{margin:0 12px}.footer-row{gap:20px}}
@media(max-width:650px) and (orientation:portrait){.footer-row{align-items:flex-start;flex-direction:column;gap:18px}.cities ul{width:100%}.copyright{margin-top:18px;font-size:10px}.copy{bottom:auto}.form-dialog{padding:42px 25px 28px}.form-title{font-size:36px;margin-bottom:28px}.form-pair{grid-template-columns:1fr;gap:24px}}
@media(prefers-reduced-motion:reduce){.contact-link{transition:none}}
/* Destinations will be connected once supplied; no placeholder navigation. */
.understated-link{color:inherit;text-decoration-line:underline;text-decoration-color:#cfb98c;text-decoration-thickness:1px;text-underline-offset:4px;transition:text-decoration-color .2s}
.understated-link:hover{text-decoration-color:transparent}
.understated-link[aria-disabled="true"]{cursor:default}
.footer-actions{display:flex;align-items:center;flex:none;gap:20px}.login-link{padding:8px 0;font:inherit;letter-spacing:inherit}.footer-dot{width:2px;height:2px;border-radius:50%;background:#cfb98c;opacity:.7;flex:none}
.legal-row{display:flex;align-items:baseline;justify-content:flex-start;flex-wrap:wrap;gap:12px 24px;margin-top:16px;color:#d8d0c3}
.legal-row .copyright{margin:0}
.privacy-link{flex:none;font-size:10px;line-height:1.5;letter-spacing:.035em}
@media(max-width:650px) and (orientation:portrait){.legal-row{flex-wrap:wrap;justify-content:flex-start;gap:12px 24px;margin-top:18px}}
@media(prefers-reduced-motion:reduce){.understated-link{transition:none}}
/* Legal documents: warm ivory, bronze rules, restrained editorial typography. */
.understated-link,.understated-link[aria-disabled="true"],a,button:not(:disabled){cursor:pointer}
.legal-links{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.legal-links button{appearance:none;border:0;background:none;color:inherit;font-family:inherit;padding:0}
.understated-link:focus-visible{outline:1px solid #cfb98c;outline-offset:5px}
.legal-dialog{color-scheme:light;position:fixed;inset:0;width:min(860px,calc(100% - 48px));height:min(820px,calc(100svh - 64px));max-width:none;max-height:none;margin:auto;padding:0;border:1px solid #b8a789;background:#f5f2eb;color:#302d27;box-shadow:0 24px 90px #0005;overflow:hidden}
.legal-dialog[open]{display:flex;flex-direction:column}
.legal-dialog::backdrop{background:rgba(17,15,12,.65);backdrop-filter:blur(5px)}
.legal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;flex:none;padding:34px 44px 26px;border-bottom:1px solid #c5b99f}
.legal-header h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(28px,3vw,42px);line-height:1.15;letter-spacing:-.025em;margin:14px 0 0;outline:none}
.legal-header .dialog-close{position:static;flex:none;margin:-6px -12px 0 0;width:44px;height:44px;color:#6b5b42}
.legal-header .dialog-close svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.2}
.legal-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:30px 44px 40px;scrollbar-width:thin;scrollbar-color:#b0a287 #eee8dc}
.legal-body:focus-visible{outline:1px solid #9d8863;outline-offset:-4px}
.legal-body h3{font-family:Georgia,'Times New Roman',serif;font-size:23px;line-height:1.3;font-weight:400;letter-spacing:-.01em;margin:30px 0 12px;color:#443b2c}
.legal-body h3:first-child{margin-top:0}
.legal-body p{font:400 14px/1.85 Arial,Helvetica,sans-serif;letter-spacing:.005em;margin:0 0 18px;overflow-wrap:anywhere}
.legal-body strong{font-weight:600}
.legal-body a{color:#665330;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.legal-body a:hover{text-decoration:none}
.legal-body a:focus-visible{outline:1px solid #8f7954;outline-offset:3px}
.legal-modal-footer{display:flex;align-items:center;justify-content:space-between;flex:none;gap:20px;padding:15px 44px;border-top:1px solid #d7cdbb;color:#7c6d54}
.legal-modal-footer>span{font-size:9px;letter-spacing:.2em}
.legal-dismiss{border:0;background:none;color:#504838;font:12px Arial,Helvetica,sans-serif;padding:8px 0;letter-spacing:.06em}
@media(max-width:650px){.legal-dialog{width:calc(100% - 24px);height:calc(100svh - 32px)}.legal-header{padding:25px 24px 21px;gap:12px}.legal-header h2{font-size:30px}.legal-body{padding:24px}.legal-body h3{font-size:21px}.legal-body p{font-size:14px;line-height:1.75}.legal-modal-footer{padding:12px 24px}.legal-row{gap:14px 24px}}
#contact-dialog .required-note{font:11px/1.5 Arial,Helvetica,sans-serif;letter-spacing:.025em;color:#716b60;margin:-20px 0 25px}
#contact-dialog .contact-status{font:12px/1.6 Arial,Helvetica,sans-serif;letter-spacing:0;color:#655339;margin:0}
.contact-tally{display:block;width:100%;height:500px;border:0;background:#f5f2eb;color-scheme:light}
.contact-thank-you p{font:14px/1.7 Arial,Helvetica,sans-serif;letter-spacing:0;color:#514735;margin:0 0 32px}
#contact-dialog [hidden]{display:none!important}
.send-message:not(:disabled){background:transparent;color:#514735;border-color:#514735;cursor:pointer}
.send-message:not(:disabled):hover{background:#514735;color:#f5f2eb}
.send-message:focus-visible{outline:1px solid #78613f;outline-offset:4px}

.modal-form .field-hint,.modal-form .field-error{font:11px/1.5 Arial,Helvetica,sans-serif;letter-spacing:0}
.modal-form .field-hint{color:#716b60}
.modal-form .field-error{color:#8b4335}
.modal-form .field-error[hidden]{display:none}
.modal-form [aria-invalid="true"]{border-bottom-color:#8b4335}
.form-pair{align-items:start}

/* Login shares Contact's ivory, typography and outlined actions. */
#login-dialog{width:min(480px,calc(100% - 40px))}
.modal-form .field-error[hidden]{display:none}
.password-field{display:grid;gap:8px}
.password-input{position:relative}
.modal-form .password-input input{padding-right:64px}
#password-toggle{position:absolute;right:0;top:0;height:100%;border:0;padding:0 4px;background:transparent;color:#655339;font:11px Arial,Helvetica,sans-serif;letter-spacing:.03em;cursor:pointer}
#password-toggle:focus-visible{outline:1px solid #78613f;outline-offset:3px}
#login-dialog .form-actions{margin-top:10px}
.form-status{font:12px/1.6 Arial,Helvetica,sans-serif;letter-spacing:0;color:#655339;margin:0}
#login-dialog .login-help{border-top:1px solid #d7cdbb;margin-top:30px;padding-top:20px;font:12px/1.6 Arial,Helvetica,sans-serif;letter-spacing:0;color:#716b60}
.login-help a{color:#514735;margin-left:4px}

/* Three destinations, followed by the selected area's sign-in. */
#login-dialog{width:min(540px,calc(100% - 40px))}
.access-options{border-top:1px solid #d7cdbb}
.access-option{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;padding:23px 0;border:0;border-bottom:1px solid #d7cdbb;background:transparent;text-decoration:none;text-align:left;color:#514735;cursor:pointer}
.access-name{display:block;font:400 23px/1.25 Georgia,'Times New Roman',serif;letter-spacing:-.015em}
.access-description{display:block;margin-top:7px;font:12px/1.6 Arial,Helvetica,sans-serif;letter-spacing:0;color:#716b60}
.access-arrow{flex:none;font:22px/1 Arial,Helvetica,sans-serif;color:#8a7655;transition:transform .18s}
.access-option:hover .access-name{color:#292720}
.access-option:hover .access-arrow{transform:translateX(3px);color:#514735}
.access-option:focus-visible{outline:1px solid #78613f;outline-offset:5px}
.login-back{display:inline-flex;align-items:center;gap:8px;border:0;padding:0;background:none;color:#716b60;font:11px/1.5 Arial,Helvetica,sans-serif;margin:-14px 0 28px}
#login-destinations[hidden],#login-credentials[hidden]{display:none}
@media(prefers-reduced-motion:reduce){.access-arrow{transition:none}}

#login-submit{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-width:126px;min-height:40px}
.login-spinner{display:inline-block;width:13px;height:13px;border:1.5px solid currentColor;border-right-color:transparent;border-radius:50%;animation:login-spin .7s linear infinite;flex:none}
.login-spinner[hidden]{display:none}
#login-form[aria-busy="true"] #login-submit{opacity:1;background:transparent;color:#514735;border-color:#514735;cursor:wait}
#login-status.login-error{color:#a33c32}
@keyframes login-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.login-spinner{animation:none}}

/* Keep the closed Contact iframe laid out and ready without exposing it. */
#contact-dialog:not([open]){display:block;visibility:hidden;pointer-events:none;inset:auto;top:0;left:-10000px;margin:0}
#contact-open-error{font:11px/1.5 Arial,Helvetica,sans-serif;letter-spacing:0;color:#eee6d9;margin:12px 0 0}
#contact-open-error[hidden]{display:none}
