:root{--blue:#183345;--ink:#182d3a;--yellow:#cfb785;--light:#f4f2ec;--gold:#947742;--muted:#65716f;--line:#dcdcd2}
.range-calendar{padding:28px;border:1px solid #dcd3c2;border-radius:12px;background:linear-gradient(140deg,#fffefa,#f8f6ef);margin-bottom:30px;box-shadow:0 10px 36px #18334506}.range-calendar[hidden]{display:none}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.calendar-eyebrow{font-size:12px;color:var(--gold);letter-spacing:1.4px}.calendar-toolbar p{font-size:18px;font-weight:500;margin:10px 0 0}.calendar-controls{display:flex;gap:10px}.calendar-controls button{width:44px;height:44px;border:1px solid #dcd3c2;border-radius:50%;font-size:20px;color:var(--ink);background:#fffefa;cursor:pointer;transition:background .2s}.calendar-controls button:hover:not(:disabled){background:#e8deca}.calendar-controls button:disabled{opacity:.3;cursor:default}.calendar-months{display:grid;grid-template-columns:1fr 1fr;gap:40px}.calendar-month h3{text-transform:capitalize;font-size:16px;font-weight:600;text-align:center;margin:8px 0 22px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px 0}.calendar-weekday{text-align:center;font-size:12px;color:var(--muted);padding:0 0 14px}.calendar-day{height:46px;width:100%;min-width:0;background:transparent;border:0;color:var(--ink);font:inherit;font-size:14px;cursor:pointer;position:relative;border-radius:8px;transition:background .18s,color .18s}.calendar-day:disabled{color:#babcb6;cursor:default;text-decoration:line-through;text-decoration-thickness:1px}.calendar-day:hover:not(:disabled){background:#e9dfcb}.calendar-day.in-range,.calendar-day.range-preview{background:#eee5d3;border-radius:0}.calendar-day.is-selected{background:var(--ink);color:#ead7b3;border-radius:8px;box-shadow:0 3px 9px #18334518}.calendar-day.is-selected:hover{background:#24475a}.calendar-day.is-today:after{content:'';position:absolute;left:calc(50% - 2px);bottom:6px;width:4px;height:4px;border-radius:50%;background:var(--gold)}.calendar-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid #e1daca;margin-top:24px;padding-top:18px;font-size:12px;color:var(--muted)}.calendar-bottom button{font:inherit;font-size:14px;color:var(--gold);background:none;border:0;border-bottom:1px solid #c7b799;padding:6px 0;cursor:pointer}@media(max-width:700px){.range-calendar{padding:19px 12px}.calendar-months{grid-template-columns:1fr;gap:0}.calendar-toolbar{gap:10px;align-items:flex-start}.calendar-toolbar p{font-size:16px;max-width:190px;line-height:1.5}.calendar-eyebrow{font-size:10px;letter-spacing:.7px}.calendar-controls{gap:6px}.calendar-controls button{width:36px;height:36px}.calendar-day{height:44px}.calendar-bottom{font-size:12px;align-items:flex-start}.calendar-month h3{margin-top:0}}
.booking-section{background:#f3f1eb;border-top:1px solid var(--line)}.booking-card{background:#fffefa;border:1px solid #c7b799;border-radius:12px;padding:36px;box-shadow:0 18px 48px #182d3a09}.booking-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.booking-fields label{font-size:14px;font-weight:600;display:flex;flex-direction:column;gap:12px}.booking-fields input{width:100%;min-width:0;min-height:54px;padding:14px;font:inherit;font-size:16px;color:var(--ink);border:1px solid var(--line);border-radius:6px;background:#fcfbf7;color-scheme:light}.booking-fields input:focus{outline:2px solid var(--gold);outline-offset:2px}.field-hint,.booking-note{font-size:12px;color:var(--muted);font-weight:400;line-height:1.8}.booking-error{color:#a33326;font-size:14px;margin:16px 0}.booking-error:empty{display:none}.booking-summary{margin:25px 0;padding:18px 20px;border-radius:7px;background:#eff2ee;font-size:16px;line-height:1.7}.booking-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap}.booking-actions button{font:inherit;font-size:14px;cursor:pointer}.booking-direct{font-size:14px;border-bottom:1px solid #c7b799;padding-bottom:5px}.booking-note{margin:22px 0 0;max-width:760px}.booking-result{margin-top:28px;border-top:1px solid var(--line);padding-top:26px}.booking-result h3{font-size:22px;font-weight:500;margin:0 0 14px}.booking-result p{line-height:1.8;color:var(--muted);font-size:14px}.booking-number{display:inline-block;margin:20px;font-size:16px;font-weight:600}.booking-result[hidden]{display:none}@media(max-width:1050px){.header nav{gap:18px}.header nav a{font-size:13px}}@media(max-width:700px){.header nav a:nth-child(2){display:none}.header nav a:nth-child(4){display:block}.booking-card{padding:23px 18px}.booking-fields{grid-template-columns:1fr;gap:24px}.booking-actions{align-items:flex-start;flex-direction:column;gap:22px}.booking-actions button,.booking-result .button{width:100%;justify-content:center}.booking-number{margin:20px 0}.booking-summary{padding:16px}.booking-fields input{min-height:56px}}
body{background:#fcfbf7}a:focus-visible,button:focus-visible{outline-color:var(--gold)}
.header{background:#fcfbf7;border-bottom:1px solid var(--line);height:108px}.brand{font-family:Manrope,Arial,sans-serif;font-size:38px;font-weight:600;letter-spacing:-1.5px}.brand span{font-family:Manrope,Arial,sans-serif;font-size:10px;letter-spacing:3px;color:var(--gold)}.header nav{gap:34px}.header nav a{position:relative}.header nav a:after{content:'';position:absolute;height:1px;background:var(--gold);left:0;right:0;bottom:-8px;transform:scaleX(0);transform-origin:left;transition:transform .3s}.header nav a:hover:after{transform:scaleX(1)}.header-phone{border:1px solid var(--line);padding:12px 18px;border-radius:8px;font-weight:600}
.hero{background:linear-gradient(120deg,#102632,#1d3c4e);color:#faf6ed}.hero-copy{padding-top:70px}.eyebrow{display:inline-block;padding:10px 14px;border:1px solid #cfb78545;border-radius:5px;font-size:11px;letter-spacing:1.7px;color:#ddcba7}h1,h2,.photo-label{font-family:Manrope,Arial,sans-serif;font-weight:500;letter-spacing:-1.5px}h1{font-size:clamp(44px,4.8vw,72px);line-height:1.14}h1 em{color:#d8c298}.hero p{color:#c5d2d5;font-size:17px}.button{border-radius:7px;font-weight:600;padding:19px 25px;position:relative;overflow:hidden;transition:transform .35s,box-shadow .35s,background .35s}.yellow{background:linear-gradient(105deg,#dac69e,#c4a872);border:1px solid #e2d2b4;box-shadow:0 8px 24px #00000015;color:#152c39}.button:before{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 35%,#ffffff35 50%,transparent 65%);transform:translateX(-150%);transition:transform .65s}.button:hover:before{transform:translateX(150%)}.button:hover{transform:translateY(-3px);box-shadow:0 12px 30px #0000001c}.text-link{border-color:#cfb78580;color:#e0d2b8}.rating{padding:15px 22px;border:1px solid #d8c29838;border-radius:9px;background:#ffffff05;margin-top:36px}.rating strong{font-size:35px}.stars{color:#d8c298}.rating div{font-size:12px}.hero-photo{border-radius:140px 8px 8px 8px;margin:28px 28px 28px 0;border:1px solid #d8c29840;box-shadow:0 20px 60px #00000025}.hero-photo img{filter:saturate(.88);animation:photo-enter 1.4s ease-out both}.photo-label{font-size:42px}.photo-number{color:#eee1c8}.hero-bottom{border-color:#cfb78528;color:#cfb785b8;letter-spacing:2px}
.section{padding-top:105px;padding-bottom:105px}.kicker{color:var(--gold);letter-spacing:2.5px;display:flex;align-items:center;gap:12px}.kicker:before{content:'';width:26px;height:1px;background:currentColor}h2{font-size:clamp(34px,3.6vw,52px);line-height:1.18}.about-copy p,.section-head p{color:var(--muted)}.about-photo{border-radius:8px 90px 8px 8px;border:1px solid var(--line);box-shadow:0 20px 50px #152c3910}.about-grid{gap:55px}.features{gap:14px}.feature{border:1px solid var(--line);padding:21px 18px;border-radius:8px;background:linear-gradient(140deg,#ffffff,#f6f4ee);box-shadow:0 4px 15px #152c3904;transition:transform .35s,box-shadow .35s,border-color .35s}.feature:hover{transform:translateY(-4px);box-shadow:0 12px 25px #152c390b;border-color:#b49b70}.feature span{color:var(--gold);font-size:11px;letter-spacing:1px}.feature h3{font-size:16px;font-weight:600}.feature p{font-size:14px}
.gallery-section{background:#edf0ed;border-top:1px solid #d9dfd9;border-bottom:1px solid #d9dfd9}.gallery{gap:20px}.gallery button{border-radius:8px;border:1px solid #ffffff80;box-shadow:0 8px 25px #152c3910}.gallery img{filter:saturate(.9);transition:transform .75s cubic-bezier(.2,.65,.3,1),filter .75s}.gallery button:hover img{transform:scale(1.055);filter:saturate(1)}.gallery-caption{padding:60px 23px 23px;background:linear-gradient(transparent,#0d2531d9);font-weight:500;font-size:14px}.review{border:1px solid var(--line);border-radius:8px;background:#fffefa;padding:34px;box-shadow:0 8px 30px #152c3905;transition:transform .35s,box-shadow .35s}.review:hover{transform:translateY(-5px);box-shadow:0 16px 36px #152c3910}.review .stars{color:var(--gold)}.review p{font-size:16px;line-height:1.9}.review footer{border-top:1px solid var(--line);padding-top:22px;font-weight:600}.review footer span{color:var(--muted)}.review-score{font-family:Manrope,Arial,sans-serif;font-size:56px}.review-score .stars{color:var(--gold)!important}.review-score small{font-family:Manrope,Arial,sans-serif;color:var(--muted)}.blue-link{color:var(--gold)}
.contacts{background:linear-gradient(110deg,#112a37,#1e3e4b);color:#f5f0e6;gap:65px}.contacts .kicker{color:#d8c298}.contacts p{color:#c6d1d1}.contact-details{border:1px solid #cfb78540;border-radius:12px;background:#ffffff04;padding:38px;box-shadow:0 20px 50px #0000000f}.contact-phone{font-size:clamp(24px,2.6vw,38px);white-space:nowrap;color:#e2cda4}.contact-details .button{background:linear-gradient(105deg,#dac69e,#c4a872);color:#152c39;border:1px solid #e2d2b4}.contact-details .links{color:#d8dfdc;flex-wrap:wrap}.footer{background:#fcfbf7;border-top:1px solid var(--line)}.footer .brand{font-size:38px}dialog{background:#112a37;border:1px solid #cfb78560;border-radius:9px;box-shadow:0 35px 100px #00000050}dialog::backdrop{background:#071822e8;backdrop-filter:blur(8px)}dialog[open]{animation:dialog-enter .25s ease-out}dialog button{border-radius:5px;border-color:#cfb78550;transition:background .2s}dialog button:hover{background:#cfb78522}
@keyframes photo-enter{from{transform:scale(1.05)}to{transform:scale(1)}}@keyframes dialog-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){.reveal-pending{opacity:0;transform:translateY(24px)}.reveal-ready{transition:opacity .8s ease,transform .8s cubic-bezier(.2,.65,.3,1);transition-delay:var(--reveal-delay,0ms)}.reveal-visible{opacity:1;transform:translateY(0)}}
@media(max-width:1050px){.hero-copy{padding-top:55px}.header nav{gap:22px}.contact-details{padding:26px}.about-grid{gap:32px}.feature{padding:18px 14px}.photo-label{font-size:36px}}
@media(max-width:700px){.header{height:88px}.brand{font-size:38px}.header nav{gap:18px}.hero-copy{padding-top:40px}.eyebrow{font-size:10px;letter-spacing:.8px;padding:9px 11px}h1{font-size:44px;letter-spacing:-1.4px}h2{font-size:36px}.hero-actions{gap:18px}.hero-photo{margin:0 6% 26px;border-radius:90px 7px 7px 7px}.photo-label{font-size:36px}.rating{padding:12px 18px;margin-top:28px}.section{padding-top:65px;padding-bottom:65px}.about-photo{border-radius:8px 65px 8px 8px}.gallery{gap:12px}.contact-details{padding:25px 20px}.contact-phone{font-size:clamp(22px,6.2vw,30px);letter-spacing:-.6px}.contact-details .links{gap:20px}.review{padding:26px}.feature{padding:18px 14px}.footer .brand{font-size:36px}}
@media(prefers-reduced-motion:reduce){.hero-photo img,dialog[open]{animation:none}.reveal-pending{opacity:1;transform:none}*,*:before,*:after{transition:none!important}}
.hero h1{font-size:clamp(3.25rem,5.6vw,5.25rem);line-height:1.12;letter-spacing:-.035em;overflow-wrap:break-word}
@media(max-width:700px){.hero h1{font-size:clamp(2.75rem,12.5vw,3.5rem);line-height:1.14}}
.features .transfer-feature{grid-column:1/-1;padding:1.5rem;border:1px solid #cfb78566;border-radius:14px;background:linear-gradient(115deg,#ffffff80,#cfb78518)}
.features .transfer-feature .transfer-price-note{font-weight:600;color:#183345;margin:.85rem 0}
.transfer-feature>a{display:inline-block;font-size:1rem;color:#183345;text-decoration:none;border-bottom:1px solid #cfb785;padding-bottom:.3rem;margin-top:.5rem}
.transfer-feature>a:focus-visible{outline:2px solid #99723d;outline-offset:5px}
