/* ASTER 19 / immersive hospitality, a photographic travel edition. */
:root{--a19-dark:#162d27;--a19-white:#f8f5eb;--a19-gold:#d7c8a9}body{background:#f5f2e9;color:#233c32}.wrap{width:calc(100% - 88px);max-width:1500px}.hero{display:block;position:relative;min-height:820px;background:#152d27;isolation:isolate;padding-bottom:0;overflow:visible}.landscape-window{position:absolute;inset:0;height:100%;width:100%;z-index:-2;overflow:hidden}.landscape-window::after{border:0;background:linear-gradient(90deg,#0a201ae8,#0a201a42 75%),linear-gradient(0deg,#0a201ac4,transparent 60%)}.hero-bg{width:100%;height:100%;object-fit:cover;object-position:50% 54%}.landscape-caption{top:145px;right:44px;left:auto;bottom:auto;font-size:10px;background:#0e251dbf;border:1px solid #ffffff42;max-width:220px;padding:10px 14px;color:white}.header{height:110px;position:relative;z-index:6;border-bottom:1px solid #ffffff55;color:#fff}.brand{font-size:31px;font-weight:400;letter-spacing:.2em}.header-action{border-color:#ffffff80;background:#ffffff10;color:white}.header-action:hover{color:#1a342b;background:#f8f5eb}.header .language-switch button{color:white}.header .language-switch button[aria-pressed=true]{border-color:white}.hero-copy{padding:60px 44px 0;min-height:0;max-width:1080px;display:block;color:#fff}.hero-copy .kicker{font-size:11px;letter-spacing:.04em;color:#e1e7d9;max-width:800px}.hero-copy h1{font-family:Georgia,'Noto Georgian',serif;font-size:clamp(55px,5.6vw,82px);font-weight:400;line-height:1.13;letter-spacing:-.035em;max-width:1000px;margin:34px 0 23px;color:white;text-wrap:balance}.hero-copy h1 i{font-style:italic;font-weight:400}.hero-copy>p{font-size:15px;line-height:1.9;color:#f1f2e9;max-width:480px}.a19-discover{display:inline-flex;gap:45px;align-items:center;border-bottom:1px solid #f8f5eb80;padding:14px 0;margin-top:10px;font-size:13px;min-height:44px;color:#fff}.a19-discover>span:last-child{font-size:21px}.hero .booking-wrap{position:absolute;z-index:3;bottom:32px;left:44px;right:44px;margin:0;background:#f8f5eb;color:#233c32;padding:24px 27px;box-shadow:0 15px 40px #0012094d;border:1px solid #e0dccd}.booking-bar{width:100%;max-width:none;background:none;border:0;gap:24px}.booking-field label{font-size:10px;color:#4f6455}.booking-field input,.booking-field select{color:#233c32;font-size:15px;background:none;color-scheme:light}.booking-field{border-color:#c2c9b8;padding-right:22px}.booking-submit{background:#233c32;color:#fff;min-height:58px;font-size:13px;line-height:1.7;padding:14px 18px}.section.intro{padding-block:105px;grid-template-columns:.5fr 1.5fr;gap:60px}.intro h2{font:48px/1.25 Georgia,'Noto Georgian',serif;letter-spacing:-.025em;max-width:970px}.intro h2 i{font-style:italic;color:#5d745b}.intro-description{grid-template-columns:1fr .75fr;gap:70px}.intro-description p{font-size:15px;line-height:1.95}.intro-side .kicker{max-width:160px;line-height:1.9}.a19-map{grid-column:1/-1;border-block:1px solid #b2bda8;margin-top:18px}.a19-map summary{list-style:none;display:flex;justify-content:space-between;gap:24px;padding:22px 0;min-height:64px;font-size:13px;cursor:pointer}.a19-map summary::-webkit-details-marker{display:none}.a19-map summary>span:last-child{font-size:23px}.a19-map[open] summary>span:last-child{transform:rotate(45deg)}.a19-map-body .terrain-map{min-height:300px;border:1px solid #9cab8d;background:#d9dfcd}.a19-map-body .map-footer{background:#d9dfcd}.a19-map-body .map-coordinates{bottom:22px;max-width:65%}.stay{padding-top:25px;padding-bottom:90px}.section-head{display:grid;grid-template-columns:1.3fr .7fr;gap:70px;align-items:end;margin-bottom:50px}.section-head h2{font:62px/1.17 Georgia,'Noto Georgian',serif;letter-spacing:-.025em;margin-top:20px}.section-head h2 i{font-style:italic}.section-head>p{font-size:14px;line-height:1.9}.stays{grid-template-columns:1.3fr .7fr;gap:50px}.stay-card:nth-child(2){padding-top:90px}.stay-photo{height:540px}.stay-card:nth-child(2) .stay-photo{height:390px}.room-type{background:#f8f5eb;color:#233c32;font-size:11px;padding:12px 17px}.stay-meta h3{font:35px/1.2 Georgia,'Noto Georgian',serif;letter-spacing:-.025em}.stay-meta>p{font-size:13px;line-height:1.8}.a-details{font-size:13px}.a-room-facts{font-size:12px!important;letter-spacing:.01em}.stay-fine{font-size:12px;line-height:1.9}.rituals{background:#223b31;color:#f8f5eb;padding:80px 0}.rituals>.wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:30px 85px;align-items:start}.ritual-top{display:block;grid-column:1;grid-row:1}.ritual-top h2{font:48px/1.2 Georgia,'Noto Georgian',serif;letter-spacing:-.025em;margin:25px 0}.rituals .kicker,.rituals .ritual-item>span{color:#d2ddc8}.ritual-top>p,.ritual-item p{color:#e3e7dc;font-size:14px;line-height:1.9}.ritual-image{grid-column:2;grid-row:1/3;height:860px;margin:0}.ritual-image img{object-position:55% center;height:100%}.ritual-caption{background:#f8f5eb;color:#233c32;font-size:11px;max-width:80%;line-height:1.8}.ritual-list{display:block;grid-column:1;grid-row:2;margin:0;border:0}.ritual-item{border-right:0;border-bottom:1px solid #718269;margin:0;padding:22px 0}.ritual-item h3{font:27px/1.3 Georgia,'Noto Georgian',serif;letter-spacing:-.015em;margin:20px 0 13px}.day{padding-block:100px;gap:100px;grid-template-columns:.75fr 1.25fr}.day h2{font:49px/1.23 Georgia,'Noto Georgian',serif;letter-spacing:-.03em;margin-top:25px}.day-intro{font-size:14px;line-height:1.95}.day-tabs{gap:35px}.day-tab{font-size:14px}.moment{grid-template-columns:75px 1fr;padding:28px 0}.moment h3{font:26px/1.3 Georgia,'Noto Georgian',serif;letter-spacing:-.02em}.moment p{font-size:14px;line-height:1.9}.moment time{font:13px/1.8 ui-monospace,'Noto Georgian',monospace;color:#476044}.a-planner{background:#e3e7d9;padding:60px;gap:70px;width:calc(100% - 88px);margin-bottom:95px}.a-planner-intro h2{font-size:48px}.a-planner-controls{background:#f6f5eb;border-color:#a9b49c;padding:30px}.a-fields label>span{font-size:12px}.a-plan-cta{font-size:13px}.a-rate-note{font-size:12px}.ending{background:linear-gradient(90deg,#0d241ce8,#0d241cb8),url('aster-cabin.jpg') center 62%/cover;color:#fff;padding:85px 0}.ending h2{font:66px/1.2 Georgia,'Noto Georgian',serif;letter-spacing:-.025em}.ending h2 i{font-style:italic}.ending .kicker,.ending p{color:#f0f0e4}.ending .ending-action{color:white;border-color:#ffffff80}.ending .little-flower{stroke:#d4dec7}.footer{background:#f5f2e9;color:#233c32}.footer-top{border-color:#b1bda7}.footer p,.footer a:last-child{font-size:13px}.footer-bottom{font-size:11px;border-color:#b1bda7}.a-room-dialog h2{font-family:Georgia,'Noto Georgian',serif}
@media(max-width:1000px){.hero{min-height:830px}.hero-copy{max-width:900px}.hero-copy h1{font-size:66px}.landscape-caption{display:none}.nav{gap:18px;font-size:12px}.header-action{font-size:11px;padding:12px}.booking-bar{gap:15px}.booking-field{padding-right:15px}.section.intro{gap:35px}.stays{gap:30px}.stay-card:nth-child(2){padding-top:70px}.stay-photo{height:470px}.stay-card:nth-child(2) .stay-photo{height:350px}.rituals>.wrap{gap:30px 40px}.a-planner{padding:35px;gap:35px}.a-planner-intro h2{font-size:41px}.a-planner-controls{padding:24px}}
@media(max-width:700px){.wrap{width:calc(100% - 36px)}.hero{display:block;min-height:825px}.header{height:92px}.brand{font-size:27px;gap:10px}.header-tools{gap:13px}.header .menu-button{color:#fff}.nav.is-open{background:#162d27;color:white;top:92px;border-color:#ffffff50}.hero-copy{padding:33px 22px 0;max-width:none}.hero-copy .kicker{font-size:10px;line-height:1.8;max-width:315px}.hero-copy h1{font-size:42px;line-height:1.2;letter-spacing:-.03em;margin:24px 0 20px;text-wrap:balance}.hero-copy>p{font-size:14px;line-height:1.9;max-width:300px}.a19-discover{font-size:12px;padding:10px 0;margin-top:8px;gap:32px}.hero .booking-wrap{left:18px;right:18px;bottom:23px;padding:18px;background:#f8f5eb;box-shadow:0 8px 25px #0012094d}.booking-bar{display:grid;grid-template-columns:1fr 1fr;gap:16px 12px}.booking-field{padding:0;border:0}.booking-field label{font-size:10px;line-height:1.7;margin-bottom:7px;letter-spacing:0}.booking-field input,.booking-field select{font-size:16px!important;min-height:44px;padding:7px 0;width:100%;border-bottom:1px solid #aebaa3;border-radius:0}.booking-submit{font-size:12px;min-height:55px;padding:10px 12px;line-height:1.7;align-self:end}.landscape-window{position:absolute;inset:0;height:100%;width:100%}.landscape-window::after{background:linear-gradient(90deg,#0a201ad6,#0a201a65),linear-gradient(0deg,#0a201abd,transparent 70%)}.hero-bg{object-position:48% center}.section.intro{display:block;padding-block:58px}.intro-side{display:none}.intro h2{font-size:33px;line-height:1.3}.intro-description{display:block;margin-top:28px}.intro-description p{font-size:14px;line-height:1.95}.intro-description .inline-link{margin-top:20px}.a19-map{margin-top:32px}.a19-map summary{font-size:12px;line-height:1.8;align-items:center}.a19-map-body .terrain-map{min-height:0;grid-template-rows:210px auto;border:0}.a19-map-body .terrain-map svg{height:210px}.a19-map-body .map-coordinates{max-width:none}.a19-map-body .map-footer{padding:18px;background:#d9dfcd}.stay{padding-top:0;padding-bottom:58px}.section-head{display:block;margin-bottom:30px}.section-head h2{font-size:41px;line-height:1.2}.section-head>p{font-size:14px;margin-top:24px}.stays{display:block}.stay-photo,.stay-card:nth-child(2) .stay-photo{height:350px}.stay-card:nth-child(2){padding-top:42px}.stay-meta h3{font-size:31px}.stay-meta>p{font-size:13px}.rituals{padding:58px 0}.rituals>.wrap{display:block}.ritual-top h2{font-size:37px;line-height:1.25}.ritual-top>p,.ritual-item p{font-size:14px;line-height:1.95}.ritual-image{height:400px;margin:30px 0 10px}.ritual-caption{font-size:10px;padding:15px;max-width:85%}.ritual-item{padding:25px 0}.ritual-item h3{font-size:28px;margin:20px 0 14px}.day{display:block;padding-block:58px}.day h2{font-size:36px;line-height:1.25}.day-intro{font-size:14px}.moment{grid-template-columns:55px 1fr;gap:18px}.moment h3{font-size:24px}.moment p{font-size:14px}.a-planner{display:block;width:calc(100% - 36px);padding:24px 18px;margin-bottom:58px}.a-planner-intro h2{font-size:36px;line-height:1.25}.a-planner-intro>p{font-size:14px}.a-planner-controls{padding:20px;margin-top:25px}.a-plan-cta{font-size:12px}.ending{padding:58px 0}.ending h2{font-size:40px;line-height:1.25}.ending p{font-size:14px}.footer p,.footer a:last-child{font-size:13px}}
@media(prefers-reduced-motion:reduce){.a19-map summary>span:last-child{transition:none}}

.footer .brand{color:#233c32}
/* Phone edition: natural-flow booking and shorter room-to-planner journeys. */
@media(max-width:700px){
 .hero{min-height:0!important;padding-bottom:24px}.header{height:82px}.nav.is-open{top:82px;max-height:calc(100dvh - 148px);overflow:auto;overscroll-behavior:contain}
 .hero-copy{padding:28px 20px 0}.hero-copy .kicker{font-size:11px;line-height:1.7;max-width:100%}
 .hero-copy h1{font-size:clamp(35px,10.25vw,44px);line-height:1.16;margin:21px 0 18px}.hero-copy>p{font-size:15px;line-height:1.8;max-width:330px}
 .a19-discover{font-size:14px;min-height:48px;padding:10px 0;margin-top:8px;gap:24px}
 .hero .booking-wrap{position:relative;left:auto;right:auto;bottom:auto;margin:28px 18px 0;padding:17px;min-width:0}
 .booking-bar.wrap{width:100%}.booking-bar{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 13px}
 .booking-field{min-width:0}.booking-field label{font-size:11px;line-height:1.7;margin-bottom:5px}.booking-field input,.booking-field select{min-width:0;min-height:46px;font-size:16px}
 .booking-submit{font-size:13px;min-height:66px;gap:10px;padding:10px 12px;line-height:1.55;min-width:0}.booking-submit>span:last-child{font-size:23px}
 .section.intro{padding-block:50px}.intro h2{font-size:32px;line-height:1.3}.intro-description{margin-top:23px}.intro-description p{font-size:15px;line-height:1.85}
 .section-head{margin-bottom:26px}.section-head h2{font-size:37px}.section-head>p{font-size:15px;line-height:1.85;margin-top:20px}
 .stay-photo,.stay-card:nth-child(2) .stay-photo{height:280px}.room-type{font-size:12px;padding:11px 14px;max-width:90%;line-height:1.6}
 .stay-meta{padding-top:20px;gap:14px}.stay-meta h3{font-size:29px}.stay-meta>p{font-size:14px;line-height:1.75}
 .a-details{display:flex;align-items:center;width:100%;min-height:48px;padding:12px 0;font-size:14px;line-height:1.7;margin-top:15px}
 .a-room-facts{font-size:13px!important;line-height:1.8!important;margin:18px 0 0!important;padding:17px 0!important}
 .stay-card:nth-child(2){padding-top:30px}.stay-fine{font-size:13px;line-height:1.8}
 .day-tabs{gap:0;display:grid;grid-template-columns:1fr 1fr}.day-tab{padding:13px 8px;min-height:48px;font-size:14px;line-height:1.6}.moment{gap:15px;grid-template-columns:49px minmax(0,1fr)}
 .a-planner{padding:25px 16px}.a-planner-intro h2{font-size:33px;line-height:1.25}.a-planner-intro>p{font-size:15px;line-height:1.85}
 .a-planner-controls{padding:18px 14px}.a-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 12px}.a-fields>label:first-child{grid-column:1/-1}
 .a-fields label{min-width:0}.a-fields label>span{font-size:13px;line-height:1.6}.a-fields input,.a-fields select{min-width:0;width:100%;font-size:16px;min-height:48px}
 .a-breakfast{font-size:14px;line-height:1.75;min-height:48px}.a-breakfast input{flex:none}.a-plan-cta{font-size:14px;line-height:1.7;min-height:56px;padding:14px 12px}
 .a-rate-note{font-size:13px;line-height:1.8}.a-room-dialog{max-height:calc(100dvh - 24px);width:calc(100% - 24px);overflow:auto;overscroll-behavior:contain}
 .a-room-close{position:absolute;top:10px;right:10px;z-index:3;min-width:48px;min-height:48px;background:#f8f5eb;border:1px solid #5a6c59}
 .a-room-dialog>img{height:220px}.a-room-body{padding:23px 21px}.a-room-body h2{font-size:31px;margin-block:18px}.a-room-body>p{font-size:15px;line-height:1.85}.a-room-body button{font-size:14px;min-height:50px;width:100%}
 #booking-dialog{max-height:calc(100dvh - 24px);width:calc(100% - 24px);padding:25px 22px;overflow:auto;overscroll-behavior:contain}
 #booking-dialog h2{font-size:31px;line-height:1.25}#booking-dialog>p{font-size:14px;line-height:1.85}#booking-dialog label{font-size:14px;line-height:1.7}
 #booking-dialog input,#booking-dialog textarea{font-size:16px;min-height:48px;line-height:1.6}#booking-dialog textarea{min-height:90px}#booking-dialog button[type=submit]{min-height:54px;font-size:14px}
}
@media(max-width:700px){#booking-dialog .dialog-close{position:sticky;top:0;right:auto;float:right;display:grid;place-items:center;min-width:44px;min-height:44px;margin:-8px -6px 0 12px;z-index:5;background:#f5f2e9}#booking-dialog h2{clear:both}#booking-dialog label{display:block;margin-bottom:8px}#booking-dialog input:focus-visible,#booking-dialog textarea:focus-visible{outline-offset:2px}}
@media(max-width:700px){.a-fields>label:not(:first-child)>span{display:block;min-height:42px}}
