@charset "UTF-8";
:root{--paper:#f8f5ef;--white:#fffdf8;--ink:#332d28;--muted:#70645c;--brand:#985039;--brand-deep:#553b30;--line:#e2d8cf;--soft:#f0e7de;--serif:'Noto Serif KR',Georgia,serif;--english:'Cormorant Garamond',Georgia,serif;--sans:'Villa Sans Web','Pretendard','Apple SD Gothic Neo','Noto Sans KR',sans-serif;--ease:cubic-bezier(.22,1,.36,1);--header:88px;--page:clamp(24px,5.5vw,88px)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header) + 24px)}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{color:inherit;cursor:pointer;border:0;background:none;padding:0}img{display:block;width:100%;height:auto}button img{transition:transform .65s var(--ease)}button:has(img){overflow:hidden}button:has(img):hover img{transform:scale(1.025)}h1,h2,h3,p,figure{margin:0}ul{list-style:none;margin:0;padding:0}button:disabled{opacity:.4;cursor:not-allowed}button:disabled:hover{transform:none}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid #985039;outline-offset:5px}[hidden]{display:none!important}::selection{background:#eed6c7;color:var(--ink)}.svg-library{position:absolute;width:0;height:0;overflow:hidden}.icon{width:22px;height:22px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.skip-link{position:fixed;z-index:500;left:16px;top:16px;padding:12px 24px;background:var(--white);transform:translateY(-160%)}.skip-link:focus{transform:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.section-shell{max-width:1480px;margin-inline:auto;padding-inline:var(--page)}.muted{color:var(--muted)}.serif-title{font-family:var(--serif);font-size:clamp(30px,3.25vw,48px);font-weight:400;line-height:1.55;letter-spacing:-.055em;word-break:keep-all}.eyebrow{font-size:12px;letter-spacing:.15em;font-weight:500;margin-bottom:20px}.section-marker{display:flex;gap:22px;color:var(--muted);font-size:11px;letter-spacing:.15em;margin-bottom:45px}.section-marker>span:first-child{font-family:var(--english);font-size:19px;line-height:1}.text-link{display:inline-flex;align-items:center;gap:22px;min-height:44px;border-bottom:1px solid var(--ink);font-size:14px}.text-link .icon{width:18px;height:18px;transition:transform .2s var(--ease)}.text-link:hover .icon{transform:translate(3px,-3px)}.outline-button{display:inline-flex;justify-content:center;align-items:center;gap:20px;min-height:52px;border:1px solid var(--line);padding:12px 24px;font-size:14px;transition:background .2s,border-color .2s}.outline-button:hover{background:var(--soft);border-color:var(--brand)}.primary-button{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:58px;padding:16px 24px;background:var(--brand);color:var(--white);font-size:15px;font-weight:500;transition:background .2s}.primary-button:hover{background:var(--brand-deep)}

.site-header{height:var(--header);padding-inline:var(--page);display:flex;justify-content:space-between;align-items:center;gap:30px;background:var(--paper);position:sticky;top:0;z-index:80;transition:box-shadow .2s}.site-header.is-scrolled{box-shadow:0 1px var(--line)}.brand{display:flex;align-items:center;gap:11px;flex-shrink:0}.brand-mark{width:38px;height:38px;stroke:var(--brand);stroke-width:1.25}.brand-wordmark{font-family:var(--serif);font-size:22px;line-height:1.2;font-weight:500;letter-spacing:.035em}.brand-wordmark>span{display:block;font-family:var(--sans);font-weight:400;font-size:9px;letter-spacing:.2em;margin-top:8px}.desktop-nav{display:flex;gap:clamp(20px,2.6vw,42px);align-items:center}.desktop-nav a{font-size:13px;min-height:44px;display:flex;align-items:center;position:relative}.desktop-nav a::after{content:'';position:absolute;left:0;right:0;bottom:6px;height:1px;background:var(--brand);transform:scaleX(0);transform-origin:left;transition:transform .25s}.desktop-nav a:hover::after,.desktop-nav a[aria-current]::after{transform:scaleX(1)}.header-actions{display:flex;align-items:center;gap:10px}.header-book{display:flex;align-items:center;gap:25px;min-height:44px;border-bottom:1px solid var(--ink);font-size:13px}.header-book .icon{width:17px;height:17px}.menu-toggle{display:none;min-width:44px;min-height:44px;align-items:center;justify-content:center}.mobile-nav{position:absolute;top:var(--header);left:0;right:0;max-height:calc(100svh - var(--header));max-height:calc(100dvh - var(--header));overflow-y:auto;overscroll-behavior:contain;padding:18px var(--page) 28px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 20px 30px #332d2810}.mobile-nav a{display:flex;align-items:center;justify-content:space-between;min-height:52px;border-bottom:1px solid var(--line);font-size:15px}

.hero{position:relative;min-height:590px;height:calc(100svh - var(--header) - 76px);max-height:830px;overflow:hidden;color:var(--white);background:#9a806f}.hero-picture{display:block;position:absolute;inset:0}.hero-picture img{height:100%;object-fit:cover;object-position:center 52%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#33251d77 0%,#33251d15 65%),linear-gradient(0deg,#33251d66 0%,transparent 58%)}.hero-topline{position:absolute;top:34px;left:var(--page);right:var(--page);display:flex;justify-content:space-between;gap:20px;font-size:10px;font-weight:500;letter-spacing:.18em}.hero-content{position:absolute;left:var(--page);top:50%;transform:translateY(-45%)}.hero-content .eyebrow{font-size:12px;letter-spacing:.12em;margin-bottom:24px}.hero h1{font-family:var(--serif);font-size:clamp(44px,4.6vw,72px);font-weight:400;line-height:1.48;letter-spacing:-.065em;text-shadow:0 2px 28px #33251d30}.hero-description{font-size:14px;line-height:1.9;font-weight:400;margin-top:27px;color:#f8f5eff0}.hero-link{display:inline-flex;gap:32px;align-items:center;border-bottom:1px solid #f8f5ef80;font-size:12px;margin-top:38px;min-height:44px}.hero-link .icon{width:17px;height:17px}.hero-bottom{position:absolute;left:var(--page);right:var(--page);bottom:32px;display:flex;align-items:center;justify-content:space-between}.hero-note{font-family:var(--english);font-style:italic;font-size:23px;letter-spacing:.02em}.hero-gallery{min-height:48px;display:flex;align-items:center;gap:30px;border:1px solid #f8f5ef99;padding:12px 20px;font-size:12px;background:#33251d26;transition:background .2s}.hero-gallery:hover{background:#33251d66}.hero-gallery .icon{width:17px;height:17px}.stay-ribbon{min-height:76px;display:flex;gap:24px;align-items:center;justify-content:space-between;padding:18px var(--page);border-bottom:1px solid var(--line);font-size:13px}.stay-ribbon>div{display:flex;align-items:center;gap:8px}.stay-ribbon .icon{width:18px;height:18px}.stay-ribbon>p{color:var(--muted);font-size:12px}.stay-ribbon>a{display:flex;align-items:center;gap:26px;min-height:44px;font-size:12px}

.about{padding-block:118px 80px}.about-copy{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:start;margin-bottom:62px}.about-copy>div{padding-top:11px;max-width:460px}.about-copy p{font-size:16px;line-height:1.9;word-break:keep-all}.about-copy p+p{font-size:14px;line-height:1.9;margin-top:25px}.about-copy .text-link{margin-top:25px}.about-images{display:grid;grid-template-columns:1.7fr 1fr;gap:7%;align-items:start}.about-wide{margin-top:56px}.about-images button{width:100%;display:block}.about-wide img{aspect-ratio:1.5;object-fit:cover}.about-portrait img{aspect-ratio:.76;object-fit:cover}.about-images figcaption{display:flex;justify-content:space-between;gap:12px;margin-top:16px;font-size:11px;color:var(--muted)}.about-images figcaption>span:first-child{font-size:9px;letter-spacing:.12em}.about-footnote{display:flex;align-items:center;justify-content:space-between;margin-top:48px;color:var(--muted)}.about-footnote p{font-size:12px;line-height:1.8}.signature{font-family:var(--english);font-style:italic;font-size:37px;color:var(--brand)}

.spaces{padding-block:68px 118px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:42px}.section-heading .eyebrow{letter-spacing:.07em;font-size:12px;margin-bottom:12px;color:var(--muted)}.section-description{font-size:13px;line-height:1.85;color:var(--muted);padding-bottom:8px;flex-shrink:0}.gallery-toolbar{display:flex;justify-content:space-between;align-items:center;gap:24px;border-bottom:1px solid var(--line);margin-bottom:28px}.gallery-filters{display:flex;gap:28px;overflow:auto;scrollbar-width:none}.gallery-filters button{white-space:nowrap;min-height:52px;font-size:13px;border-bottom:2px solid transparent;color:var(--muted);transition:color .2s}.gallery-filters button[aria-pressed=true]{border-color:var(--brand);color:var(--brand);font-weight:600}.gallery-count{white-space:nowrap;font-size:10px;letter-spacing:.1em;color:var(--muted)}.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 20px}.gallery-card{display:block;width:100%;text-align:left;min-width:0}.gallery-photo{display:block;width:100%;overflow:hidden;aspect-ratio:.86;background:var(--soft)}.gallery-photo img{width:100%;height:100%;object-fit:cover}.gallery-caption{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:48px;font-size:12px}.gallery-caption>span:last-child{color:var(--muted)}.gallery-card:hover .gallery-caption{color:var(--brand)}.gallery-more{display:flex;margin:36px auto 0;min-width:210px;justify-content:space-between}.gallery-empty,.noscript-note{padding:30px;font-size:15px;color:var(--muted)}

.moments{background:var(--soft);padding-block:100px 78px}.moments-header{margin-bottom:64px}.moments-header .eyebrow{color:var(--muted);font-size:10px}.moments-list{display:flex;flex-direction:column;gap:68px}.moment{display:grid;grid-template-columns:1.1fr 1fr;gap:11%;align-items:center}.moment-image{display:block;width:100%;background:#e8ddd3}.moment-image img{height:100%;aspect-ratio:1.3;object-fit:cover}.moment-copy{padding-block:15px}.moment-number{font-size:10px;letter-spacing:.12em;color:var(--muted)}.moment-copy h3{font-family:var(--serif);font-size:clamp(21px,2.1vw,29px);font-weight:400;line-height:1.65;letter-spacing:-.045em;margin-top:23px;word-break:keep-all}.moment-copy p{font-size:14px;line-height:1.9;margin-top:21px;color:var(--muted)}.moment-tag{display:block;font-size:11px;color:var(--brand);margin-top:27px}.moment-reverse{grid-template-columns:1fr 1.1fr}.moment-reverse .moment-image{order:2}.moment-reverse .moment-image img{aspect-ratio:1.3;object-position:center 57%}.moment-reverse .moment-copy{order:1;padding-left:13%}.amenities{margin-top:76px}.amenities-heading{border-top:1px solid #d7c6b7;padding-top:32px;display:flex;justify-content:space-between;align-items:flex-end;gap:30px}.amenities-heading h3{font-size:19px;font-weight:500;line-height:1.75;letter-spacing:-.03em}.amenities-heading p{font-size:11px;color:var(--muted);max-width:270px}.amenity-list{display:grid;grid-template-columns:repeat(7,1fr);gap:20px;margin-top:36px}.amenity-list li{display:flex;align-items:center;gap:12px;font-size:11px;color:var(--brand)}.amenity-list .icon{width:24px;height:24px}

.stay{padding-block:118px 100px}.stay-layout{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:start}.stay-image{display:block;width:100%;margin-top:8px}.stay-image img{height:560px;object-fit:cover;object-position:52% 75%}.stay-image-wrap>span{display:block;font-size:9px;letter-spacing:.16em;color:var(--muted);margin-top:16px}.stay-option{display:block;text-align:left;width:100%;padding:22px 20px;border-bottom:1px solid var(--line);transition:background .2s}.stay-option:first-child{border-top:1px solid var(--line)}.stay-option[aria-pressed=true]{background:var(--soft)}.stay-option:hover{background:#f0e7de7a}.stay-option-top{display:flex;gap:16px;align-items:center}.stay-name{font-family:var(--serif);font-size:23px;font-weight:500;letter-spacing:-.03em}.stay-capacity{font-size:11px;color:var(--muted);margin-left:auto}.stay-option-top .icon{width:17px;height:17px}.stay-specs{display:block;font-size:12px;color:var(--muted);margin-top:8px}.stay-option-bottom{display:flex;gap:16px;justify-content:space-between;font-size:11px;margin-top:18px;color:var(--muted)}.stay-option-bottom>span{color:var(--brand);border-bottom:1px solid var(--brand);flex-shrink:0}.stay-note{font-size:11px;color:var(--muted);line-height:1.85;margin:24px 20px 12px}.stay-options>.text-link{margin-left:20px;font-size:13px}

.guide{display:grid;grid-template-columns:.8fr 1.2fr;gap:12%;padding-block:50px 115px}.guide-intro .section-marker{margin-bottom:35px}.guide-intro>.muted{font-size:13px;line-height:1.85;margin-top:25px}.guide-intro>.text-link{margin-top:22px;font-size:13px}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;cursor:pointer;min-height:76px;padding:20px 0;font-size:14px}.faq-list summary::-webkit-details-marker{display:none}.faq-plus{position:relative;display:block;width:18px;height:18px;flex-shrink:0}.faq-plus::before,.faq-plus::after{content:'';position:absolute;top:8px;left:2px;width:14px;height:1px;background:var(--muted)}.faq-plus::after{transform:rotate(90deg);transition:transform .2s}.faq-list details[open] .faq-plus::after{transform:rotate(0)}.faq-content{padding:0 28px 26px 0;font-size:.875rem;color:var(--muted);line-height:1.85;word-break:keep-all}.faq-content p+p{margin-top:10px}.faq-content strong{color:var(--ink);font-weight:500}
.faq-times{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:0 0 18px}.faq-times>div+div{padding-left:20px;border-left:1px solid var(--line)}.faq-times dt{margin-bottom:8px;font-weight:500}.faq-times dd{margin:0;color:var(--ink);font-family:var(--sans);font-size:1rem;line-height:1.5}.faq-times strong{font-family:var(--sans);font-size:1.875rem;font-weight:650;line-height:1.2;letter-spacing:-.025em;font-variant-numeric:lining-nums tabular-nums;white-space:nowrap}.faq-content .faq-note{padding-top:14px;border-top:1px solid var(--line)}.faq-steps{margin:0 0 16px;padding-left:22px}.faq-steps li{padding-left:4px}.faq-steps li+li{margin-top:10px}.faq-steps li::marker{color:var(--brand)}.faq-topics{display:grid;gap:18px;margin:0}.faq-topics>div{display:grid;grid-template-columns:84px minmax(0,1fr);gap:14px}.faq-topics dt{color:var(--brand-deep);font-weight:500}.faq-topics dd{margin:0}.faq-topics dd p+p{margin-top:6px}

.location{display:grid;grid-template-columns:1fr 1fr;background:#f0e7de;min-height:480px}.location-image{overflow:hidden}.location-image img{height:100%;object-fit:cover;object-position:65% center}.location-copy{padding:60px clamp(30px,5vw,80px)}.location-copy .eyebrow{font-size:9px;letter-spacing:.16em}.location-copy .serif-title{font-size:clamp(28px,2.65vw,38px)}.location-address{display:flex;gap:13px;margin-block:28px 24px;font-size:14px}.location-address .icon{margin-top:3px;width:18px}.location-address span{font-size:12px;color:var(--muted)}.location-copy .outline-button{border-color:#cdb9a7;font-size:12px;padding-inline:18px}.map-note{font-size:10px;color:var(--muted);margin-top:10px}

.booking{display:grid;grid-template-columns:1fr 1fr;gap:12%;padding-block:120px 110px;align-items:start}.booking-intro{padding-top:20px}.booking-intro .eyebrow{font-size:10px;color:var(--muted);letter-spacing:.13em}.booking-intro .serif-title{font-size:clamp(38px,4vw,56px);line-height:1.6}.booking-intro>p:not(.eyebrow){font-size:14px;color:var(--muted);line-height:1.9;margin-top:28px}.booking-contact{display:flex;gap:12px;align-items:center;margin-top:34px;font-size:15px}.booking-contact .icon{width:19px}.booking-contact a{border-bottom:1px solid var(--line)}.booking-intro>p.booking-note{font-size:11px;margin-top:15px}.booking-card{background:var(--white);border:1px solid var(--line);padding:32px}.booking-card-top{display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid var(--line);padding-bottom:24px;margin-bottom:24px}.booking-card-top>span:first-child{font-size:19px;font-family:var(--serif);letter-spacing:-.04em}.booking-card-top>span:last-child{font-size:9px;letter-spacing:.12em;color:var(--muted)}.date-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{margin-bottom:20px;min-width:0}.field label{font-size:12px;display:flex;justify-content:space-between;gap:8px;margin-bottom:8px}.field label span{font-size:10px;color:var(--muted)}.field input,.field select{height:50px;width:100%;min-width:0;border:1px solid var(--line);border-radius:0;background:var(--white);color:var(--ink);padding:10px 12px;font-size:13px}.field select{cursor:pointer}.field input:focus,.field select:focus{border-color:var(--brand)}.guest-field{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-block:6px 22px}.guest-field label{font-size:12px}.guest-field p{font-size:10px;color:var(--muted);margin-top:3px}.guest-stepper{display:flex;align-items:center;border:1px solid var(--line);height:46px;gap:2px}.guest-stepper button{width:42px;height:44px;font-size:20px;line-height:1}.guest-stepper button:hover:not(:disabled){background:var(--soft)}.guest-stepper input{width:30px;text-align:center;appearance:textfield;-moz-appearance:textfield;background:transparent;border:0;padding:0;font-size:14px}.guest-stepper input::-webkit-inner-spin-button,.guest-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.guest-stepper>span{font-size:11px;padding-right:6px}.booking-summary{padding:15px 0;border-top:1px solid var(--line);font-size:12px;color:var(--brand)}.booking-card .primary-button{width:100%;margin-top:8px}.form-error{font-size:12px;color:#943a2c;line-height:1.7}.form-error:empty{display:none}.form-error:not(:empty){margin-bottom:18px}.form-footnote{text-align:center;font-size:10px;color:var(--muted);margin-top:14px}.inquiry-panel{margin-top:28px;padding-top:25px;border-top:1px solid var(--line)}.inquiry-panel h3{font-size:17px;font-weight:500}.inquiry-panel>p{font-size:12px;color:var(--muted);margin-top:8px}.inquiry-panel textarea,.copy-fallback{width:100%;padding:14px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font-size:13px;line-height:1.8;border-radius:0;resize:vertical;margin-top:16px}.inquiry-actions{display:flex;gap:12px;margin-top:12px}.inquiry-actions .outline-button,.inquiry-actions .primary-button{justify-content:center;font-size:12px;flex:1;min-height:48px;padding:10px;gap:8px;margin:0}.inquiry-actions .icon{width:16px;height:16px}.copy-status{min-height:20px;font-size:11px}

.closing-note{text-align:center;padding:65px 20px 78px;border-top:1px solid var(--line)}.closing-note>span{font-family:var(--english);font-size:clamp(38px,5.5vw,76px);line-height:1.3;color:var(--brand);font-weight:400;font-style:italic;letter-spacing:-.02em}.closing-note p{font-size:12px;color:var(--muted);letter-spacing:.05em;margin-top:15px}.site-footer{background:var(--brand-deep);color:var(--paper);padding:55px var(--page) 32px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid #f8f5ef33;padding-bottom:35px}.footer-brand .brand-mark{stroke:var(--paper)}.footer-top nav{display:flex;gap:30px;align-items:center;font-size:12px}.footer-top nav>a,.footer-top nav>button{min-height:44px;display:flex;align-items:center}.footer-top button{gap:10px}.footer-top .icon{width:16px;height:16px}.footer-bottom{display:flex;justify-content:space-between;gap:30px;padding-top:26px;font-size:10px;line-height:1.9;color:#f8f5efad}.footer-bottom>p:last-child{text-align:right}.share-status{font-size:12px;margin-top:10px}.share-status:empty{display:none}.copy-fallback{background:var(--paper);margin-top:10px}.mobile-booking{display:none}

.photo-dialog{border:0;padding:22px 32px;background:#28221f;color:var(--paper);width:min(1100px,94vw);max-width:none;max-height:94svh;margin:auto;box-shadow:0 18px 100px #23191460}.photo-dialog::backdrop{background:#181310dc;backdrop-filter:blur(5px)}.photo-dialog-header{display:flex;justify-content:space-between;align-items:center;font-size:11px;letter-spacing:.1em;margin-bottom:14px}.photo-dialog-header button{width:44px;height:44px;display:grid;place-items:center}.photo-stage{position:relative;display:flex;justify-content:center;align-items:center;padding:0 54px}.photo-stage img{max-height:calc(90svh - 180px);height:auto;width:auto;max-width:100%;object-fit:contain}.photo-stage>button{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:56px;display:grid;place-items:center;border:1px solid #f8f5ef50;z-index:2}.photo-stage>button:hover{background:#f8f5ef15}.photo-prev{left:0}.photo-prev .icon{transform:rotate(180deg)}.photo-next{right:0}.photo-dialog-caption{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:20px}.photo-dialog-caption h2{font-size:15px;font-weight:400}.photo-dialog-caption p{font-size:10px;color:#f8f5efa3}

@media(min-width:1600px){.hero-content{left:max(var(--page),calc((100vw - 1400px)/2))}.hero-topline,.hero-bottom{left:max(var(--page),calc((100vw - 1400px)/2));right:max(var(--page),calc((100vw - 1400px)/2))}}
@media(max-width:1100px){:root{--page:40px;--header:80px}.desktop-nav{gap:22px}.desktop-nav a{font-size:12px}.header-book{gap:16px}.hero{min-height:560px}.about-copy{gap:8%}.about-images{gap:5%}.about-images figcaption{flex-direction:column;gap:5px}.gallery-filters{gap:22px}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.moment{gap:8%}.amenity-list{grid-template-columns:repeat(4,1fr);row-gap:24px}.stay-layout{gap:5%}.stay-option{padding-inline:16px}.stay-capacity{font-size:10px}.stay-name{font-size:21px}.stay-option-bottom{font-size:10px}.stay-image img{height:580px}.guide{gap:8%}.booking{gap:7%}.booking-card{padding:25px}.date-fields{gap:12px}.field input{padding-inline:8px}}
@media(max-width:850px){:root{--page:28px;--header:76px}.desktop-nav{display:none}.header-book{font-size:12px}.menu-toggle{display:flex}.brand-mark{width:32px;height:32px}.brand-wordmark{font-size:20px}.brand-wordmark>span{font-size:8px}.hero{height:650px;max-height:none}.hero h1{font-size:53px}.hero-content{transform:translateY(-44%)}.hero-topline>span:last-child{display:none}.stay-ribbon>p{display:none}.about{padding-top:88px}.section-marker{margin-bottom:32px}.about-copy{gap:35px}.about-copy p{font-size:14px}.about-copy p+p{font-size:13px}.section-description{font-size:12px}.gallery-toolbar{gap:12px}.gallery-filters{gap:20px}.gallery-filters button{font-size:12px}.gallery-count{display:none}.moment-copy h3{font-size:23px}.moment-copy p{font-size:13px}.moment-reverse .moment-copy{padding-left:0}.moments{padding-block:78px 65px}.moments-list{gap:45px}.stay{padding-block:88px 78px}.stay-layout{grid-template-columns:1fr;gap:35px}.stay-image img{height:400px;object-position:center 82%}.stay-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.stay-option{border:1px solid var(--line);padding:20px 15px}.stay-option-top{flex-wrap:wrap;gap:8px}.stay-capacity{order:3;margin-left:0;width:100%}.stay-option-top .icon{margin-left:auto}.stay-option-bottom{flex-direction:column;gap:14px}.stay-option-bottom>span{align-self:flex-start;min-height:30px}.stay-specs{font-size:10px}.stay-note{grid-column:1/-1;margin:12px 0 0}.stay-options>.text-link{grid-column:1/-1;justify-self:start;margin:0}.guide{grid-template-columns:1fr;gap:35px;padding-bottom:80px}.guide-intro{display:grid;grid-template-columns:1fr 1fr;column-gap:30px;align-items:start}.guide-intro .section-marker{grid-column:1/-1}.guide-intro .serif-title{grid-row:2/4}.guide-intro>.muted{margin-top:7px}.guide-intro>.text-link{justify-self:start}.location{min-height:440px}.location-copy{padding:40px 28px}.location-copy .eyebrow{font-size:8px}.location-copy .serif-title{font-size:28px}.location-address{font-size:12px}.location-address span{font-size:10px}.booking{gap:5%;padding-block:90px 80px}.booking-intro>p:not(.eyebrow){font-size:12px}.booking-intro .serif-title{font-size:38px}.booking-card{padding:22px}.date-fields{grid-template-columns:1fr;gap:0}.booking-card-top>span:last-child{font-size:8px}.footer-top nav{gap:20px;font-size:11px}.footer-top{gap:20px}.photo-dialog{padding-inline:22px}}
@media(max-width:600px){:root{--page:24px;--header:72px}body{font-size:15px;padding-bottom:82px}.site-header{gap:12px}.brand{gap:8px}.brand-mark{width:29px;height:29px}.brand-wordmark{font-size:18px}.brand-wordmark>span{font-size:7px;margin-top:6px}.header-actions{gap:12px}.header-book{gap:12px;min-height:40px;font-size:11px}.header-book .icon{width:14px;height:14px}.menu-toggle{width:36px;min-width:44px}.hero{height:calc(100svh - 150px);min-height:570px;max-height:750px}.hero-picture img{object-position:62% center}.hero-shade{background:linear-gradient(0deg,#33251db8,transparent 80%),linear-gradient(90deg,#33251d45,transparent 75%)}.hero-topline{top:24px;font-size:9px}.hero-content{top:auto;bottom:125px;transform:none;right:var(--page)}.hero-content .eyebrow{font-size:10px;margin-bottom:20px}.hero h1{font-size:clamp(38px,9.5vw,52px);line-height:1.52}.hero-description{font-size:12px;margin-top:22px}.hero-link{margin-top:25px;font-size:11px;gap:26px}.hero-bottom{bottom:24px}.hero-note{font-size:19px}.hero-gallery{font-size:10px;min-height:44px;padding:10px 12px;gap:13px}.hero-gallery .icon{width:15px;height:15px}.stay-ribbon{font-size:11px;padding-block:12px;min-height:64px;gap:8px}.stay-ribbon>a{font-size:10px;gap:10px}.stay-ribbon .icon{width:15px;height:15px}.about{padding-block:76px 55px}.section-marker{font-size:9px;gap:17px;margin-bottom:29px}.section-marker>span:first-child{font-size:17px}.serif-title{font-size:31px;line-height:1.6;letter-spacing:-.05em}.about-copy{grid-template-columns:1fr;gap:27px;margin-bottom:35px}.about-copy>div{padding-top:0;max-width:100%}.about-copy p{font-size:14px;line-height:1.9}.about-copy p+p{font-size:13px;margin-top:20px}.about-copy .text-link{margin-top:17px;font-size:12px}.about-images{grid-template-columns:1fr .68fr;gap:16px;align-items:center}.about-wide{margin-top:0}.about-wide img{aspect-ratio:.88}.about-portrait img{aspect-ratio:.67}.about-images figcaption{font-size:10px;margin-top:12px;gap:6px}.about-images figcaption>span:first-child{font-size:7px;letter-spacing:.06em}.about-footnote{margin-top:30px}.about-footnote p{font-size:10px}.signature{font-size:30px}.spaces{padding-block:35px 76px}.section-heading{display:block;margin-bottom:26px}.section-heading .eyebrow{font-size:10px}.section-description{margin-top:18px;font-size:12px;padding-bottom:0}.gallery-toolbar{margin-bottom:20px}.gallery-filters{gap:22px;max-width:100%;padding-right:12px}.gallery-filters button{font-size:12px;min-height:48px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}.gallery-photo{aspect-ratio:.82}.gallery-caption{font-size:11px;min-height:44px;line-height:1.5}.gallery-caption .icon{width:13px;height:13px}.gallery-more{min-width:200px;margin-top:28px;font-size:12px}.moments{padding-block:70px 60px}.moments-header{margin-bottom:32px}.moments-header .eyebrow{font-size:9px;margin-bottom:16px}.moment,.moment-reverse{grid-template-columns:1fr;gap:25px}.moment-reverse .moment-image{order:1}.moment-reverse .moment-copy{order:2}.moment-image img,.moment-reverse .moment-image img{aspect-ratio:1.13}.moment-copy{padding-block:0}.moment-number{font-size:9px}.moment-copy h3{font-size:24px;margin-top:12px}.moment-copy p{font-size:13px;margin-top:15px}.moment-tag{font-size:10px;margin-top:17px}.moments-list{gap:40px}.amenities{margin-top:45px}.amenities-heading{padding-top:26px;display:block}.amenities-heading h3{font-size:17px}.amenities-heading p{margin-top:14px;font-size:11px;max-width:none}.amenity-list{grid-template-columns:repeat(2,1fr);gap:24px 16px;margin-top:28px}.amenity-list li{font-size:12px;gap:12px}.amenity-list .icon{width:23px;height:23px}.stay{padding-block:76px 65px}.stay-layout{gap:28px}.stay-image img{height:280px}.stay-image-wrap>span{font-size:7px;letter-spacing:.1em;margin-top:12px}.stay-options{display:block}.stay-option{padding:22px 18px;border:0;border-bottom:1px solid var(--line)}.stay-option-top{flex-wrap:nowrap;gap:10px}.stay-name{font-size:23px}.stay-capacity{order:0;margin-left:auto;width:auto;font-size:11px}.stay-option-top .icon{margin-left:0;width:16px;height:16px}.stay-specs{font-size:12px;margin-top:8px}.stay-option-bottom{flex-direction:row;margin-top:16px;font-size:11px;gap:10px}.stay-option-bottom>span{min-height:0}.stay-note{margin:22px 0 13px;font-size:10px}.stay-options>.text-link{font-size:12px}.guide{padding-block:20px 76px;gap:28px}.guide-intro{display:block}.guide-intro>.muted{margin-top:20px;font-size:12px}.guide-intro>.text-link{margin-top:15px;font-size:12px}.faq-list summary{font-size:13px;min-height:72px;line-height:1.6;padding-block:19px}.faq-content{font-size:12px;padding-bottom:22px}.location{grid-template-columns:1fr}.location-image img{height:280px;object-position:center center}.location-copy{padding:42px var(--page) 44px}.location-copy .eyebrow{font-size:8px;margin-bottom:18px}.location-copy .serif-title{font-size:31px}.location-address{font-size:13px;margin-block:24px}.location-address span{font-size:11px}.location-copy .outline-button{font-size:12px}.booking{grid-template-columns:1fr;gap:32px;padding-block:76px 70px}.booking-intro{padding-top:0}.booking-intro .eyebrow{font-size:8px;margin-bottom:18px}.booking-intro .serif-title{font-size:40px;line-height:1.5}.booking-intro>p:not(.eyebrow){font-size:13px;margin-top:22px}.booking-contact{margin-top:22px;font-size:14px}.booking-intro>p.booking-note{font-size:11px;margin-top:12px}.booking-card{padding:24px 20px}.booking-card-top{padding-bottom:20px;margin-bottom:22px}.booking-card-top>span:first-child{font-size:20px}.booking-card-top>span:last-child{font-size:8px}.date-fields{grid-template-columns:1fr 1fr;gap:12px}.field input,.field select{font-size:13px;padding-inline:10px}.field label{font-size:12px}.field{margin-bottom:18px}.guest-field{margin-block:5px 20px}.guest-field label{font-size:13px}.guest-field p{font-size:11px}.booking-summary{font-size:12px}.primary-button{font-size:14px}.form-footnote{font-size:10px;line-height:1.7}.inquiry-actions{gap:8px}.inquiry-actions .primary-button,.inquiry-actions .outline-button{font-size:11px}.closing-note{padding-block:45px 52px}.closing-note>span{font-size:40px}.closing-note p{font-size:10px;margin-top:12px}.site-footer{padding-block:40px 25px}.footer-top{align-items:flex-start;gap:30px;display:block;padding-bottom:20px}.footer-top nav{flex-wrap:wrap;gap:5px 24px;margin-top:18px;font-size:11px}.footer-bottom{font-size:9px;gap:16px;padding-top:22px}.footer-brand .brand-wordmark{font-size:19px}.mobile-booking{display:flex;position:fixed;z-index:75;bottom:0;left:0;right:0;align-items:center;justify-content:space-between;background:var(--paper);border-top:1px solid var(--line);padding:12px 20px calc(12px + env(safe-area-inset-bottom));min-height:78px;gap:20px}.mobile-booking>div{display:flex;flex-direction:column;gap:2px}.mobile-booking>div>span{font-size:9px;color:var(--muted)}.mobile-booking strong{font-size:16px;font-weight:500}.mobile-booking>a{display:flex;align-items:center;justify-content:space-between;gap:28px;background:var(--brand);color:var(--white);font-size:12px;min-height:46px;padding:12px 18px;min-width:145px}.mobile-booking .icon{width:17px;height:17px}.photo-dialog{width:100vw;max-height:100svh;padding:14px 16px 24px}.photo-dialog-header{margin-bottom:8px}.photo-stage{padding:0}.photo-stage img{max-height:calc(100svh - 155px);max-width:100%;width:auto}.photo-stage>button{width:42px;height:48px;background:#28221faa;border-color:#f8f5ef40;top:auto;bottom:14px;transform:none}.photo-prev{left:10px}.photo-next{right:10px}.photo-dialog-caption{margin-top:18px;gap:10px}.photo-dialog-caption h2{font-size:13px}.photo-dialog-caption p{font-size:8px;white-space:nowrap}}
@media(max-width:370px){:root{--page:20px}.header-actions{gap:4px}.header-book{gap:8px}.hero-note{font-size:17px}.hero-gallery{gap:8px;padding-inline:9px}.stay-ribbon{font-size:10px}.stay-ribbon>a{font-size:9px}.date-fields{gap:8px}.booking-card{padding-inline:16px}.field input{padding-inline:6px;font-size:12px}.stay-capacity{font-size:10px}.stay-option{padding-inline:12px}}
@media(max-width:600px){.field input,.field select,.guest-stepper input,.inquiry-panel textarea,.copy-fallback{font-size:16px}.field input{padding-inline:8px}.field label span{font-size:11px}.field label,.guest-field label{font-size:13px}}
/* Family stay: bright photographs, warm neutrals and clear, friendly type. */
:root{--paper:#f8f5ef;--white:#fffdf8;--soft:#f0e7de;--ink:#332d28;--muted:#70645c;--brand:#985039;--brand-deep:#553b30;--line:#e2d8cf}
.serif-title{font-family:var(--sans);font-weight:500;letter-spacing:-.05em;line-height:1.45}
.hero{height:calc(100svh - var(--header) - 76px);min-height:570px;max-height:740px;background:#f0e9db;color:var(--ink)}
.hero-picture{left:46%;width:54%}.hero-picture img{object-position:62% center}.hero-shade{display:none}.hero-topline{color:var(--muted);font-size:9px}.hero-topline>span:last-child{display:none}.hero-content{max-width:calc(46% - var(--page)*1.4);transform:translateY(-44%)}.hero-content .eyebrow{color:#75634d;font-size:11px;letter-spacing:.03em;line-height:1.8}.hero h1{font-family:var(--sans);font-weight:500;font-size:clamp(38px,3.8vw,60px);line-height:1.4;letter-spacing:-.06em;text-shadow:none}.hero-description{color:var(--muted);font-size:14px}.hero-link{border-color:#98786677;font-size:12px;gap:20px}.hero-note{color:#75634d;font-size:24px}.hero-gallery{color:var(--ink);background:#fffdf8eb;border-color:#fffdf8aa}.hero-gallery:hover{background:var(--white)}.moment-copy h3{font-family:var(--sans);font-weight:500;line-height:1.5}.moments,.location{background:var(--soft)}.booking-intro .serif-title{line-height:1.45}.booking-email,.inquiry-email{display:inline-flex;align-items:center;min-height:44px;color:var(--muted);font-size:11px;border-bottom:1px solid var(--line);margin-top:7px}.inquiry-email{margin-top:9px}.inquiry-actions .primary-button{font-size:12px}.booking-contact{font-size:20px;letter-spacing:.015em}.booking-contact a{border-color:var(--brand)}.closing-note>span{font-size:clamp(32px,4.8vw,67px)}
@media(min-width:851px){.mobile-nav{display:none!important}}
@media(max-width:850px) and (min-width:601px){.hero-content{max-width:calc(46% - var(--page)*1.3)}.hero h1{font-size:38px}.hero-content .eyebrow{font-size:10px}.hero-description{font-size:12px}.hero-note{font-size:20px}.hero-link{font-size:11px;gap:14px}}
@media(max-width:600px){.hero{height:auto;min-height:0;max-height:none;display:flex;flex-direction:column;background:#f2ecdf}.hero-topline{position:relative;inset:auto;padding:24px var(--page) 0;order:0;font-size:8px}.hero-content{position:relative;inset:auto;transform:none;max-width:none;padding:26px var(--page) 32px;order:1}.hero-content .eyebrow{font-size:10px;margin-bottom:13px}.hero h1{font-size:clamp(36px,10vw,45px);line-height:1.35}.hero-description{font-size:13px;margin-top:19px;line-height:1.8}.hero-link{font-size:11px;margin-top:19px;min-height:40px}.hero-picture{position:relative;inset:auto;display:block;width:100%;order:2;height:290px}.hero-picture img{object-position:62% center}.hero-bottom{left:var(--page);right:var(--page);bottom:20px;z-index:1;justify-content:flex-end}.hero-note{display:none}.hero-gallery{min-height:44px;font-size:11px;padding:11px 14px;gap:15px}.serif-title{font-size:29px;line-height:1.5}.about-portrait img{object-position:53% center}.moment-copy h3{font-size:23px}.booking-contact{font-size:21px}.booking-email{font-size:11px}.booking-intro .serif-title{font-size:36px;line-height:1.45}.closing-note>span{font-size:32px}.inquiry-actions .primary-button{font-size:11px}.booking-intro>p.booking-note{margin-top:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}button:has(img):hover img{transform:none}}

/* Short films keep their portrait composition and start on a deliberate click. */
.hero-media-actions{display:flex;align-items:center;gap:10px}
.film-section{padding-block:56px 88px;border-top:1px solid var(--line)}
.film-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,420px);align-items:center;gap:clamp(40px,5vw,72px);max-width:1120px;margin-inline:auto}
.film-copy{max-width:510px;min-width:0}
.film-kicker{display:flex;align-items:center;gap:24px;font-size:11px;letter-spacing:.13em;color:var(--brand);margin-bottom:24px}
.film-kicker>span:last-child{letter-spacing:.05em;color:var(--muted);padding-left:24px;border-left:1px solid var(--line)}
.film-copy>p:not(.film-kicker):not(.story-note){font-size:16px;line-height:1.9;color:var(--muted);margin-top:24px;word-break:keep-all}
.film-scenes{display:flex;flex-wrap:wrap;gap:10px 22px;margin-block:26px 32px;font-size:13px;color:var(--muted)}
.film-scenes>span+span{padding-left:22px;border-left:1px solid var(--line)}
.film-copy .text-link{font-size:14px}
.film-figure{width:min(100%,420px);margin-inline:auto;min-width:0}
.film-player{position:relative;aspect-ratio:9/16;background:var(--soft);overflow:hidden;border-radius:10px}
.film-player video{display:block;width:100%;height:100%;object-fit:contain;outline-offset:3px}
.film-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);min-width:132px;min-height:58px;display:flex;align-items:center;justify-content:center;gap:12px;padding:16px 20px;background:var(--white);color:var(--brand);border:1px solid var(--line);border-radius:30px;font-size:14px;font-weight:600;white-space:nowrap;transition:background .2s,color .2s}
.film-play:hover{background:var(--brand);color:var(--white)}
.film-play .icon{width:20px;height:20px}
.film-figure figcaption{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;font-size:12px;color:var(--muted);line-height:1.7}
.film-figure figcaption a{display:inline-flex;align-items:center;min-height:44px;white-space:nowrap;text-decoration:underline;text-underline-offset:4px}
.film-status{font-size:13px;line-height:1.7;color:var(--brand);margin-top:8px}
.story-section{padding-block:80px 24px}
.story-layout{padding:40px 48px;background:var(--soft);grid-template-columns:minmax(0,1fr) 370px;gap:48px;border-radius:12px}
.story-copy{max-width:480px}
.story-copy .serif-title{font-size:clamp(30px,3vw,42px)}
.story-book{max-width:300px;margin-top:28px}
.story-note{margin-top:16px;color:var(--muted);font-size:13px;line-height:1.8;word-break:keep-all}
.story-figure{width:100%}
.story-layout .film-kicker>span:last-child{border-color:var(--line)}
@media(max-width:1000px){.film-layout{grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:32px}.story-layout{padding:32px;grid-template-columns:minmax(0,1fr) 320px;gap:32px}}
@media(min-width:701px) and (max-width:850px){.film-layout{grid-template-columns:1fr;gap:32px}.film-copy{max-width:560px;margin-inline:auto;width:100%}.story-layout{padding:36px;grid-template-columns:1fr}.story-figure{width:min(100%,380px)}}
@media(max-width:700px){.film-section{padding-block:42px 60px}.film-layout{grid-template-columns:1fr;gap:30px}.film-copy{max-width:none}.film-kicker{font-size:10px;margin-bottom:18px}.film-copy>p:not(.film-kicker):not(.story-note){font-size:14px;margin-top:18px}.film-scenes{font-size:12px;gap:8px 15px;margin-block:20px 24px}.film-scenes>span+span{padding-left:15px}.film-copy .text-link{font-size:13px}.film-figure{width:min(100%,420px)}.film-figure figcaption{font-size:12px;margin-top:10px}.story-section{padding-block:56px 8px}.story-layout{padding:30px 12px;gap:28px;grid-template-columns:1fr}.story-copy .serif-title{font-size:29px}.story-book{margin-top:24px;max-width:none}.story-note{font-size:12px;margin-top:14px}.story-figure{width:100%}.hero-media-actions{gap:8px}.hero-media-actions .hero-gallery{gap:8px;padding-inline:11px;font-size:10px}.hero-media-actions .icon{width:15px;height:15px}}
@media(max-width:370px){.hero-media-actions .hero-gallery{padding-inline:8px;font-size:9px}.film-scenes{gap:8px 12px}.film-scenes>span+span{padding-left:12px}.story-layout{padding-inline:12px}.film-figure figcaption{font-size:11px}}
.site-footer :focus-visible,.photo-dialog :focus-visible{outline-color:var(--paper)}

/* Support stays alongside familiar contact options when the server enables it. */
.guide-intro>.support-entry{display:flex;width:fit-content;margin-top:12px;color:var(--brand)}.booking-support{display:flex;width:fit-content;margin-top:18px;color:var(--brand);font-size:14px}

@media(max-width:600px){
  .faq-list summary,.faq-content{font-size:.875rem}
  .faq-content{padding-right:12px}
  .faq-topics>div{grid-template-columns:1fr;gap:5px}
  .faq-times{gap:16px}
  .faq-times>div+div{padding-left:16px}
  .date-fields label span{font-size:12px;font-weight:500;color:var(--ink);font-variant-numeric:lining-nums tabular-nums}
}
@media(max-width:600px){.mobile-booking.is-support-ready{gap:10px}.mobile-booking.is-support-ready>div>span{display:none}.mobile-booking.is-support-ready strong{font-size:14px;white-space:nowrap}.mobile-booking.is-support-ready>a{min-width:0;gap:8px;padding:12px;font-size:14px;white-space:nowrap}.mobile-booking.is-support-ready>.mobile-support{background:transparent;border:1px solid var(--brand);color:var(--brand)}}

/* One operating villa: present its details without an unnecessary selector. */
.stay-overview{padding:28px 0;border-block:1px solid var(--line)}
.stay-overview .eyebrow{font-size:10px;color:var(--muted);margin-bottom:14px}
.stay-overview h3{font-family:var(--serif);font-size:34px;font-weight:400;letter-spacing:-.04em}
.stay-overview-copy{font-size:14px;line-height:1.9;margin-top:18px;color:var(--muted)}
.stay-facts{margin:28px 0 0}
.stay-facts>div{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid var(--line);font-size:13px}
.stay-facts dt{color:var(--muted)}
.stay-facts dd{margin:0;text-align:right}
.stay-overview .stay-note{margin:24px 0 18px;font-size:12px}
.stay-overview>.text-link{font-size:13px}
.booking-space{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px 0 20px;border-bottom:1px solid var(--line);margin-bottom:20px;font-size:13px}
.booking-space>span{color:var(--muted)}
.booking-space>strong{font-weight:500}
@media(max-width:600px){.stay-overview{padding-top:24px}.stay-overview h3{font-size:30px}.stay-overview-copy{font-size:13px}.stay-facts>div{gap:16px;padding-block:14px;font-size:14px}.stay-overview .stay-note{font-size:11px}.booking-space{font-size:12px}}
