@charset "UTF-8";
:root{--ink:#17333c;--muted:#66777d;--blue:#125d70;--blue-dark:#0d4958;--sky:#edf5f7;--line:#dce5e8;--white:#fff;--radius:8px;--shell:1200px;color-scheme:light;font-family:"Pretendard","Noto Sans KR","Apple SD Gothic Neo","Malgun Gothic",sans-serif;font-synthesis:none;color:var(--ink);background:var(--white);font-size:16px;line-height:1.65}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0}button,a,input{ -webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:wait}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #238eb1;outline-offset:5px}::selection{background:#c3e8ef}h1,h2,h3,p,figure{margin:0}h1,h2,h3{word-break:keep-all;overflow-wrap:break-word}button{border:0;background:none}a,button,summary{transition:background .2s,color .2s,transform .2s}.shell{width:min(var(--shell),calc(100% - 96px));margin-inline:auto}.section{padding-block:108px}.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.17em;color:var(--blue);line-height:1.5}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:white;padding:12px 20px}.skip-link:focus{top:12px}
.header{height:96px;position:sticky;top:0;background:rgb(255 255 255 / 96%);backdrop-filter:blur(12px);border-bottom:1px solid #edf0f1;z-index:20}.header-inner{display:flex;align-items:center;justify-content:space-between;height:100%;gap:24px}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand svg{width:42px;height:42px;fill:none;stroke:var(--blue);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.brand>span{font-size:1.45rem;line-height:1.25;font-weight:750;letter-spacing:-.07em}.brand small{display:block;font-size:.75rem;letter-spacing:.18em;margin-top:7px;font-weight:500;color:var(--muted)}.nav{display:flex;align-items:center;gap:30px;font-size:.875rem;font-weight:600}.nav>a:not(.nav-book):hover{color:var(--blue);text-decoration:underline;text-underline-offset:8px}.nav-book{padding:12px 18px;border:1px solid var(--blue);border-radius:4px;color:var(--blue);display:flex;gap:25px;align-items:center}.nav-book:hover{background:var(--blue);color:#fff}.menu-toggle{display:none}
.hero{display:grid;grid-template-columns:.9fr 1.1fr;gap:52px;padding-top:64px;padding-bottom:74px;align-items:center}.hero-copy{padding-block:24px}.hero .eyebrow{display:flex;align-items:center;gap:10px}.hero .eyebrow>span{height:6px;width:6px;background:var(--blue);border-radius:50%}h1{font-size:clamp(2.8rem,4.55vw,4.25rem);font-weight:550;letter-spacing:-.07em;line-height:1.24;margin-top:25px}h1 em{font-style:normal;color:var(--blue)}.hero-description{font-size:1rem;line-height:1.95;color:var(--muted);margin-top:28px;word-break:keep-all}.hero-actions{display:flex;align-items:center;gap:24px;margin-top:34px}.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;min-height:52px;padding:14px 23px;font-size:.875rem;font-weight:650;border-radius:4px;line-height:1.5;text-align:center}.button.primary{background:var(--blue);color:#fff;border:1px solid var(--blue)}.button.primary:hover{background:var(--blue-dark);transform:translateY(-2px)}.button.secondary{border:1px solid var(--line);background:white}.button.secondary:hover{border-color:var(--blue);background:var(--sky)}.text-link{display:inline-flex;align-items:center;gap:18px;font-size:.875rem;font-weight:650;padding-block:8px}.text-link:hover{color:var(--blue);text-decoration:underline;text-underline-offset:6px}.hero-note{margin-top:48px;display:flex;align-items:center;gap:10px;color:var(--muted);font-size:.8125rem}.little-wave{color:var(--blue);font-size:1.7rem;line-height:1}.hero-visual{position:relative;margin-left:10px;min-width:0}.photo{position:relative;display:block;aspect-ratio:453 / 338;overflow:hidden;background:#d9e9eb;border-radius:5px}.photo img{position:absolute;width:111.7%;max-width:none;height:auto;left:-5.52%;top:-9.76%}.hero-photo{border-radius:150px 8px 8px 8px;aspect-ratio:1.12}.hero-photo img{width:142%;left:-28%;top:-9%;max-width:none}.hero-visual figcaption{display:flex;justify-content:space-between;gap:20px;font-size:.75rem;color:var(--muted);margin-top:18px}.hero-visual figcaption>span:last-child{font-size:.75rem;letter-spacing:.13em}.photo-label{position:absolute;bottom:66px;left:26px;font-size:.75rem;line-height:1.6;letter-spacing:.13em;color:white;font-weight:650;text-shadow:0 1px 5px #000}
.stay-strip{border-block:1px solid var(--line)}.stay-strip-inner{display:grid;grid-template-columns:repeat(3,1fr);padding-block:25px}.stay-strip p{display:flex;align-items:center;justify-content:center;gap:22px;padding-inline:16px;border-right:1px solid var(--line)}.stay-strip p:first-child{justify-content:flex-start;padding-left:0}.stay-strip p:last-child{border:0;justify-content:flex-end;padding-right:0}.stay-strip p>span{font-size:.75rem;color:var(--muted)}.stay-strip strong,.stay-strip a{font-size:.875rem;font-weight:600}.stay-strip a>span{margin-left:16px;color:var(--blue)}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:36px;margin-bottom:40px}h2{font-size:clamp(1.9rem,3vw,2.6rem);font-weight:600;letter-spacing:-.055em;line-height:1.4}.section-heading h2,.rates-intro h2,.around-inner h2,.location-layout h2{margin-top:13px}.section-heading>p{font-size:.9375rem;color:var(--muted);line-height:1.8}.gallery-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px;gap:20px}.filters{display:flex;gap:8px}.filter{padding:9px 19px;border-radius:30px;font-size:.875rem;border:1px solid var(--line);font-weight:550;min-height:44px}.filter:hover{background:var(--sky)}.filter.active{color:white;background:var(--ink);border-color:var(--ink)}.gallery-hint{font-size:.75rem;color:var(--muted)}.gallery-hint>span{margin-left:10px}.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.gallery-card{text-align:left;padding:0;min-width:0;display:block}.gallery-card[hidden]{display:none}.gallery-card .photo{aspect-ratio:1.12}.gallery-card .photo img{width:137%;left:-18.5%;top:-9.5%;transition:filter .3s}.gallery-card:hover .photo img{filter:brightness(1.08)}.gallery-caption{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-top:16px;font-size:.9375rem;font-weight:600;letter-spacing:-.03em}.gallery-caption small{display:block;font-size:.75rem;letter-spacing:.12em;color:var(--muted);margin-bottom:6px;font-weight:500}.gallery-caption>span:last-child{color:var(--blue);font-size:1.2rem}
.rates-section{background:#f4f8f9}.rates-layout{display:grid;grid-template-columns:.8fr 1.4fr;gap:80px}.rates-intro>p:not(.eyebrow){color:var(--muted);margin-top:24px;font-size:.9375rem}.rates-intro>.text-link{margin-top:28px;max-width:100%;flex-wrap:wrap}.rates-content{min-width:0}.rate-table-wrap{overflow-x:auto;border-top:2px solid var(--blue)}table{border-collapse:collapse;width:100%;text-align:center;font-size:.9375rem}th,td{padding:22px 10px;border-bottom:1px solid var(--line);white-space:nowrap}thead{font-size:.8125rem;color:var(--muted)}thead th{font-weight:500}tbody th{font-weight:600}tbody td{font-variant-numeric:tabular-nums}.table-note{font-size:.75rem;color:var(--muted);margin-top:12px}.check-times{display:grid;grid-template-columns:1fr 1fr;margin-block:32px;padding:23px 0;border-block:1px solid var(--line)}.check-times p{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 14px;padding-left:25px;border-left:1px solid var(--line)}.check-times p:first-child{border-left:0;padding-left:0}.check-times strong{font-size:1.8rem;font-weight:550;letter-spacing:-.05em}.check-times span:first-child{font-size:.75rem;color:var(--blue);letter-spacing:.08em}.check-times span:last-child{font-size:.75rem;color:var(--muted)}details{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0;font-size:.9375rem;font-weight:550}summary::-webkit-details-marker{display:none}summary>span{font-size:1.5rem;color:var(--muted);line-height:1}details[open] summary>span{transform:rotate(45deg)}details>div{padding:0 0 22px;color:var(--muted);font-size:.875rem;line-height:1.9}details p+p{margin-top:10px}
.booking-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:50px}.calendar-panel{min-width:0;min-height:460px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(140deg,#f5fafb,#fff);display:flex;align-items:center;justify-content:center;overflow:hidden}.calendar-intro{text-align:center;padding:40px 20px}.calendar-icon{font-size:2.5rem;color:var(--blue);display:block;line-height:1.1;margin-bottom:20px}.calendar-intro h3{font-size:1.5rem;font-weight:550;letter-spacing:-.04em;margin-top:10px}.calendar-intro>p:not(.eyebrow){font-size:.9375rem;color:var(--muted);margin-top:13px;margin-bottom:24px}.calendar-external{display:block;font-size:.8125rem;text-decoration:underline;text-underline-offset:4px;color:var(--muted);margin-top:18px}.calendar-loaded{width:100%;height:100%;align-self:stretch;display:flex;flex-direction:column}.calendar-loaded>p{padding:12px 16px;font-size:.75rem;color:var(--muted);background:var(--sky)}.calendar-loaded a{text-decoration:underline}.calendar-loaded iframe{width:100%;min-height:480px;flex:1;border:0;background:white}.booking-contact{padding:20px 0 15px 20px}.booking-contact h3{font-size:2rem;letter-spacing:-.05em;line-height:1.5;font-weight:550;margin-top:14px}.booking-contact>p:not(.eyebrow):not(.secondary-phone):not(.contact-note){color:var(--muted);margin-top:18px;font-size:.9375rem}.phone-number{display:flex;align-items:center;justify-content:space-between;color:var(--blue);font-size:1.9rem;letter-spacing:-.045em;font-weight:650;margin-top:30px;padding-bottom:8px;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}.phone-number>span{font-size:1.5rem}.secondary-phone{font-size:.8125rem;color:var(--muted);margin-top:9px}.secondary-phone a{margin-left:8px}.booking-steps{margin-top:27px;display:grid;gap:8px;font-size:.875rem}.booking-steps span{color:var(--blue);font-size:.75rem;letter-spacing:.08em;margin-right:16px}.contact-note{font-size:.75rem;color:var(--muted);margin-top:18px}
.around-section{background:var(--blue-dark);color:white;padding-block:65px}.around-inner{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.around-inner .eyebrow{color:#a9d2de}.around-inner>div:last-child>p{color:#d2e3e8;font-size:.9375rem;line-height:1.9;margin-bottom:20px}.around-inner .text-link{color:white}.secondary-link{display:flex;color:#b9d4dc!important;font-weight:400!important;font-size:.8125rem!important}.location-layout{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.location-description{color:var(--muted);font-size:.9375rem;margin-top:24px;line-height:1.9}.location-buttons{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}.arrival-card{border:1px solid var(--line);border-radius:8px;padding:35px;background:#fafcfc}.arrival-number{display:block;font-size:2.7rem;line-height:1.12;letter-spacing:-.055em;color:var(--blue);font-weight:450;padding-bottom:30px;border-bottom:1px solid var(--line)}.arrival-number em{font-style:normal;color:#91b6c0}.arrival-card h3{font-size:1.0625rem;font-weight:600;margin-top:24px}.arrival-card p{font-size:.875rem;color:var(--muted);margin-top:12px;word-break:keep-all;line-height:1.9}.arrival-card .text-link{margin-top:12px}
.footer{background:#f4f7f8;padding-top:48px;padding-bottom:26px}.footer-top{display:flex;justify-content:space-between;gap:30px;align-items:flex-start;padding-bottom:38px}.footer-top>p{font-size:.9375rem;color:var(--muted);line-height:1.8}.footer-top>div>span{display:block;font-size:.75rem;letter-spacing:.16em;color:var(--muted);margin-bottom:7px}.footer-top>div>a{font-size:1.2rem}.footer-bottom{padding-top:23px;border-top:1px solid var(--line);display:flex;align-items:center;gap:30px;font-size:.75rem;color:var(--muted)}.footer-bottom>span{margin-right:auto}.guestbook{margin-top:15px;font-size:.8125rem;color:var(--muted)}.guestbook summary{font-size:.75rem;padding-block:12px}.guestbook>p{padding-bottom:20px}.mobile-booking{display:none}
.lightbox{width:min(850px,calc(100% - 32px));max-height:calc(100dvh - 40px);padding:18px;border:0;border-radius:8px;box-shadow:0 30px 100px #0005;color:var(--ink);overflow:auto}.lightbox::backdrop{background:#0a1d26d9;backdrop-filter:blur(5px)}.lightbox>img{width:auto;height:auto;max-height:70dvh;max-width:100%;margin:auto}.lightbox-close{position:sticky;display:block;top:0;margin-left:auto;z-index:1;background:white;border:1px solid var(--line);border-radius:50%;height:44px;width:44px;font-size:1.125rem;margin-bottom:10px}.lightbox-bottom{padding:20px 4px 4px;display:flex;justify-content:space-between;align-items:center;gap:20px}.lightbox-bottom h2{font-size:1.125rem;letter-spacing:-.035em}.lightbox-bottom>span{font-size:.75rem;color:var(--muted)}body:has(.lightbox[open]){overflow:hidden}
@media(min-width:1600px){.hero{padding-top:85px;padding-bottom:90px}}
@media(max-width:1100px){.shell{width:calc(100% - 64px)}.nav{gap:19px;font-size:.8125rem}.brand>span{font-size:1.25rem}.brand svg{width:35px}.hero{gap:28px}.hero-actions{gap:14px;flex-wrap:wrap}.hero-note{margin-top:28px}.stay-strip p{gap:8px;flex-direction:column;align-items:flex-start;padding-inline:28px}.stay-strip p:last-child{align-items:flex-end}.gallery-grid{gap:16px}.gallery-caption{font-size:.8125rem}.rates-layout{gap:40px}.booking-layout{gap:32px}.booking-contact{padding-left:0}.location-layout{gap:40px}.phone-number{font-size:1.65rem}}
@media(max-width:800px){html{scroll-padding-top:84px}.header{height:78px}.shell{width:calc(100% - 48px)}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:7px;width:44px;height:44px;padding:10px}.menu-toggle>span{width:24px;height:1.5px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded=true]>span:first-child{transform:translateY(4.25px) rotate(45deg)}.menu-toggle[aria-expanded=true]>span:last-child{transform:translateY(-4.25px) rotate(-45deg)}.nav{display:none;position:absolute;top:77px;left:0;right:0;background:white;box-shadow:0 20px 20px #183b4510;padding:16px 24px 24px;align-items:stretch;gap:0;font-size:.9375rem;border-bottom:1px solid var(--line)}.nav.open{display:flex;flex-direction:column}.nav>a{padding:14px 8px}.nav .nav-book{padding:12px 15px;margin-top:10px;justify-content:space-between}.hero{grid-template-columns:1fr 1fr;gap:18px;padding-block:38px 45px}h1{font-size:2.6rem}.hero-copy{padding-block:10px}.hero-description{font-size:.875rem;margin-top:20px}.hero-actions{margin-top:24px}.hero-actions .button{padding-inline:18px}.hero-visual{margin-left:0}.hero-photo{border-top-left-radius:100px}.hero-visual figcaption{font-size:.75rem}.hero-visual figcaption>span:last-child{display:none}.photo-label{bottom:65px;left:18px;font-size:.75rem}.section{padding-block:76px}.section-heading{gap:22px}.section-heading>p{font-size:.875rem}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px}.gallery-card .photo{aspect-ratio:1.3}.gallery-card .photo img{width:120%;left:-10%;top:-9.5%}.gallery-caption{font-size:.9375rem}.rates-layout{grid-template-columns:1fr;gap:34px}.rates-intro h2 br{display:none}.rates-intro>p:not(.eyebrow) br{display:none}.rates-intro>p:not(.eyebrow){margin-top:16px}.rates-intro>.text-link{margin-top:10px}.booking-layout{grid-template-columns:1fr 1fr;gap:25px}.calendar-panel{min-height:440px}.calendar-intro .button{gap:15px;padding-inline:15px}.booking-contact h3{font-size:1.6rem}.phone-number{font-size:1.35rem}.secondary-phone a{display:block;margin-left:0}.around-inner{gap:35px}.location-layout{grid-template-columns:1fr;gap:35px}.location-description br:last-child{display:none}.arrival-card{display:grid;grid-template-columns:.7fr 1fr;gap:30px;align-items:center}.arrival-number{border:0;padding:0;font-size:2.5rem}.arrival-card h3{margin-top:0}.footer-top>p{display:none}}
@media(max-width:580px){.shell{width:calc(100% - 40px)}.brand>span{font-size:1.25rem}.brand small{font-size:.75rem}.brand svg{height:34px;width:34px}.hero{grid-template-columns:1fr;gap:30px;padding-top:35px;padding-bottom:34px}.hero-copy{padding:0}.hero .eyebrow{font-size:.75rem}h1{font-size:3rem;line-height:1.23;margin-top:17px;letter-spacing:-.06em}.hero-description{font-size:.9375rem;margin-top:20px;line-height:1.85}.hero-description br:nth-child(2){display:none}.hero-actions{gap:21px;margin-top:24px}.hero-actions .text-link{font-size:.8125rem}.hero-note{display:none}.hero-visual{margin-top:0}.hero-photo{aspect-ratio:1.3;border-top-left-radius:100px}.hero-photo img{width:122%;left:-15%;top:-9.5%}.hero-visual figcaption{font-size:.75rem;margin-top:12px}.photo-label{left:18px;bottom:49px}.stay-strip-inner{grid-template-columns:1fr 1fr;padding-block:20px;gap:0}.stay-strip p{padding-inline:17px;gap:5px}.stay-strip p:nth-child(2){border:0}.stay-strip p:last-child{display:none}.stay-strip strong{font-size:.75rem}.stay-strip p>span{font-size:.75rem}.section{padding-block:62px}h2{font-size:1.8rem}.eyebrow{font-size:.75rem}.section-heading{display:block;margin-bottom:26px}.section-heading>p{margin-top:16px;font-size:.875rem}.section-heading>p br{display:none}.gallery-toolbar{margin-bottom:20px}.gallery-hint{display:none}.filters{gap:6px}.filter{padding:8px 16px;font-size:.8125rem}.gallery-grid{gap:24px 14px}.gallery-card .photo{aspect-ratio:.94}.gallery-card .photo img{width:162%;left:-31%;top:-9.5%}.gallery-caption{font-size:.8125rem;gap:4px;letter-spacing:-.045em;align-items:flex-end}.gallery-caption small{font-size:.75rem}.gallery-caption>span:last-child{font-size:.9375rem}.rates-layout{gap:25px}.rates-intro h2 br{display:initial}.rates-intro>p:not(.eyebrow){font-size:.875rem}.rates-intro>.text-link{font-size:.8125rem}th,td{padding:19px 5px;font-size:.8125rem}thead th{font-size:.75rem}.table-note{font-size:.75rem}.check-times{margin-block:25px;padding-block:19px}.check-times p{gap:4px 12px;padding-left:20px}.check-times span:first-child{width:100%;font-size:.75rem}.check-times strong{font-size:1.65rem}.check-times span:last-child{font-size:.75rem}.guidelines summary{font-size:.875rem}.booking-layout{grid-template-columns:1fr;gap:32px}.calendar-panel{min-height:355px}.calendar-intro{padding-block:30px}.calendar-loaded iframe{min-height:490px}.booking-contact{padding:0 3px}.booking-contact h3{font-size:1.7rem}.booking-contact h3 br{display:none}.booking-contact>p:not(.eyebrow):not(.secondary-phone):not(.contact-note){font-size:.875rem}.phone-number{font-size:1.9rem;margin-top:22px}.secondary-phone a{display:inline;margin-left:8px}.booking-steps{margin-top:23px}.around-section{padding-block:46px}.around-inner{grid-template-columns:1fr;gap:22px}.around-inner h2 br{display:none}.around-inner>div:last-child>p{font-size:.875rem;margin-bottom:12px}.location-description{margin-top:20px}.location-buttons{margin-top:22px;gap:8px}.location-buttons .button{font-size:.8125rem;padding-inline:15px;gap:14px}.arrival-card{padding:25px;grid-template-columns:1fr;gap:22px}.arrival-number{font-size:2.1rem;border-bottom:1px solid var(--line);padding-bottom:22px}.arrival-number br{display:none}.arrival-number em{margin-left:10px}.footer{padding-top:35px;padding-bottom:94px}.footer-top{gap:20px;padding-bottom:25px}.footer-top .brand>span{font-size:1.2rem}.footer-top>div>a{font-size:.9375rem}.footer-top>div>span{font-size:.75rem}.footer-bottom{gap:15px;flex-wrap:wrap;font-size:.75rem}.footer-bottom>span{width:100%}.footer-bottom>a:last-child{margin-left:auto}.mobile-booking{display:grid;grid-template-columns:1fr 1.2fr;position:fixed;bottom:0;left:0;right:0;z-index:25;background:white;box-shadow:0 -3px 18px #17333c12;padding:10px 15px max(10px,env(safe-area-inset-bottom));gap:9px}.mobile-booking a{display:flex;justify-content:center;align-items:center;gap:25px;padding:12px 9px;font-size:.875rem;font-weight:600;border-radius:4px;border:1px solid var(--line)}.mobile-booking a:last-child{color:white;background:var(--blue);border-color:var(--blue)}.lightbox{padding:12px}.lightbox-bottom{display:block}.lightbox-bottom>span{display:block;margin-top:8px}.lightbox-bottom h2{font-size:1rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Keep legacy decoration outside the displayed photograph. */
.hero-photo img{top:-11%}.gallery-card .photo img{top:-11%}.lightbox-photo{width:min(100%,calc(62dvh * 1.34));margin-inline:auto;border-radius:4px}.lightbox-photo img{width:111.7%;left:-5.52%;top:-9.76%;max-width:none}
