:root{--olive:#3d4a38;--deep:#273126;--forest:#1c281f;--sage:#8f9a83;--blue:#17313d;--ivory:#f2efe7;--stone:#d8d1c2;--ink:#1f261f;--white:#f8f5ed;--line:rgba(31,38,31,.18);--serif:"Italiana","Times New Roman",serif;--sans:"DM Sans",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--sans);font-weight:300;line-height:1.5;overflow-x:hidden}body.menu-open{overflow:hidden}img{width:100%;height:100%;object-fit:cover;display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.grain{position:fixed;inset:0;pointer-events:none;z-index:999;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E")}.site-header{position:fixed;z-index:100;top:0;left:0;width:100%;display:grid;grid-template-columns:1fr auto;align-items:center;padding:24px 34px;color:var(--white);transition:.35s ease}.site-header.scrolled{padding:16px 34px;background:rgba(242,239,231,.92);backdrop-filter:blur(16px);color:var(--ink);border-bottom:1px solid rgba(31,38,31,.08)}.brand{display:inline-flex;flex-direction:column;gap:2px;width:max-content}.brand-name{font-size:13px;letter-spacing:.18em;font-weight:500}.brand-place{font-size:9px;letter-spacing:.22em;opacity:.72}.nav{display:flex;gap:28px;align-items:center;font-size:11px;letter-spacing:.12em;text-transform:uppercase}.nav a{position:relative}.nav a:not(.nav-book):after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:1px;background:currentColor;transition:right .25s}.nav a:hover:after{right:0}.nav-book{border:1px solid currentColor;padding:11px 15px;transition:.25s}.nav-book:hover{background:currentColor;color:var(--ivory)}.site-header:not(.scrolled) .nav-book:hover{background:var(--white);color:var(--deep)}.menu-toggle{display:none;background:none;border:0;color:inherit;width:36px;height:36px;padding:6px}.menu-toggle span{display:block;width:100%;height:1px;background:currentColor;margin:7px 0;transition:.25s}.hero{min-height:100svh;position:relative;color:var(--white);background:var(--forest);overflow:hidden}.hero-image{position:absolute;inset:0;transform:scale(1.035);animation:heroIn 1.8s ease-out forwards}@keyframes heroIn{to{transform:scale(1)}}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,24,18,.66),rgba(16,24,18,.2) 62%),linear-gradient(0deg,rgba(14,22,16,.35),transparent 48%)}.hero-meta{position:absolute;left:34px;top:112px;font-size:10px;letter-spacing:.24em}.hero-copy{position:relative;z-index:2;min-height:100svh;padding:22vh 8vw 6vh;display:flex;flex-direction:column;justify-content:flex-end}.eyebrow{margin:0 0 18px;font-size:10px;letter-spacing:.24em;font-weight:500;text-transform:uppercase}.eyebrow.light{color:rgba(248,245,237,.78)}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.03em;line-height:.95}.hero h1{margin:0;font-size:clamp(62px,8.4vw,132px);max-width:1050px}em{font-style:italic}.hero-bottom{margin-top:48px;display:flex;justify-content:space-between;align-items:end;gap:30px}.hero-bottom p{max-width:520px;margin:0;font-size:15px;line-height:1.7;color:rgba(248,245,237,.84)}.round-link{width:52px;height:52px;border-radius:50%;border:1px solid rgba(248,245,237,.7);display:grid;place-items:center;transition:.25s}.round-link:hover{transform:translateY(4px);background:var(--white);color:var(--forest)}.editorial-section{padding:140px 7vw}.intro{display:grid;grid-template-columns:80px minmax(150px,.65fr) 1.9fr;gap:5vw;border-bottom:1px solid var(--line)}.section-index{font-family:var(--serif);font-size:16px}.vertical-note{writing-mode:vertical-rl;transform:rotate(180deg);margin:110px 0 0;font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:rgba(31,38,31,.58)}.intro-copy{max-width:840px}.intro h2,.gallery h2{margin:0;font-size:clamp(54px,6vw,96px)}.lead{font-family:var(--serif);font-size:clamp(24px,2.15vw,34px);line-height:1.3;margin:54px 0 24px;max-width:760px}.intro-copy>p:not(.lead),.split-copy p{max-width:630px;font-size:15px;line-height:1.8}.micro-facts{border-top:1px solid var(--line);margin-top:50px;padding-top:20px;display:flex;flex-wrap:wrap;gap:18px 34px;text-transform:uppercase;font-size:10px;letter-spacing:.17em}.micro-facts span:before{content:"•";margin-right:10px;color:var(--sage)}.full-image-section{height:min(86vh,980px);position:relative;margin:0 2vw;overflow:hidden;background:var(--stone)}.full-image-section img,.split-image img,.garden-media img,.gallery-grid img{transform:scale(1.04);transition:transform 1.3s ease}.reveal-image.in-view img{transform:scale(1)}.image-caption{position:absolute;bottom:20px;left:22px;right:22px;display:flex;justify-content:space-between;color:var(--white);font-size:9px;letter-spacing:.2em}.split-story{display:grid;grid-template-columns:1.25fr .75fr;gap:8vw;align-items:center}.split-image{height:760px;overflow:hidden;background:var(--stone)}.split-copy h2{margin:0 0 42px;font-size:clamp(50px,5vw,80px)}.text-link{display:inline-flex;gap:24px;align-items:center;margin-top:24px;padding-bottom:8px;border-bottom:1px solid currentColor;font-size:11px;letter-spacing:.12em;text-transform:uppercase}.text-link span{transition:.25s}.text-link:hover span{transform:translate(3px,-3px)}.garden{background:var(--deep);color:var(--white);display:grid;grid-template-columns:1.2fr .8fr;min-height:780px}.garden-media{min-height:780px;overflow:hidden}.garden-copy{padding:9vw 7vw;display:flex;flex-direction:column;justify-content:center}.garden h2{margin:0 0 44px;font-size:clamp(58px,6.7vw,104px)}.garden-copy>p:not(.eyebrow){max-width:500px;font-size:15px;line-height:1.85;color:rgba(248,245,237,.82)}.garden-note{margin-top:28px!important;padding-top:28px;border-top:1px solid rgba(248,245,237,.22);font-family:var(--serif);font-size:22px!important;line-height:1.45!important;color:var(--white)!important}.gallery{padding-top:160px}.gallery-head{display:grid;grid-template-columns:1fr 2fr;align-items:start;margin-bottom:90px}.gallery-grid{display:grid;grid-template-columns:1.15fr .85fr;grid-template-rows:420px 420px;gap:26px}.gallery-grid figure{margin:0;overflow:hidden;position:relative;background:var(--stone)}.gallery-a{grid-row:1/3}.gallery-b,.gallery-c{display:flex;flex-direction:column}.gallery-b img,.gallery-c img{height:calc(100% - 36px)}.gallery-grid figcaption{height:36px;display:flex;align-items:end;font-size:9px;letter-spacing:.14em;text-transform:uppercase;background:var(--ivory)}.leonidio{background:var(--blue);color:var(--white);padding:150px 7vw 110px;display:grid;grid-template-columns:1.15fr .85fr;gap:7vw}.leonidio h2{margin:0;font-size:clamp(60px,6.8vw,104px)}.leonidio-copy{align-self:end;padding-bottom:12px}.leonidio-copy p{max-width:540px;font-size:15px;line-height:1.85;color:rgba(248,245,237,.82)}.leonidio-cards{grid-column:1/3;margin-top:100px;border-top:1px solid rgba(248,245,237,.2);display:grid;grid-template-columns:repeat(3,1fr)}.leonidio-cards article{padding:34px 34px 0 0;min-height:260px}.leonidio-cards article+article{border-left:1px solid rgba(248,245,237,.2);padding-left:34px}.card-no{font-size:9px;letter-spacing:.18em;opacity:.5}.leonidio-cards h3{font-family:var(--serif);font-size:32px;font-weight:400;margin:70px 0 14px}.leonidio-cards p{max-width:350px;font-size:13px;line-height:1.7;color:rgba(248,245,237,.72)}.details{display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw}.details-title{position:sticky;top:110px;align-self:start}.details h2{margin:0;font-size:clamp(54px,5.2vw,84px)}.details-grid{border-top:1px solid var(--line)}.detail-row{display:grid;grid-template-columns:160px 1fr;gap:30px;padding:22px 0;border-bottom:1px solid var(--line)}.detail-row span{font-size:9px;letter-spacing:.16em;text-transform:uppercase;opacity:.6}.detail-row strong{font-weight:400;font-size:14px}.rating-band{background:var(--olive);color:var(--white);padding:72px 7vw;display:grid;grid-template-columns:auto auto 1fr auto;gap:44px;align-items:end}.rating-band .eyebrow{align-self:start}.rating-number{font-family:var(--serif);font-size:clamp(90px,10vw,156px);line-height:.7}.rating-copy p{margin:0 0 6px;font-family:var(--serif);font-size:22px}.rating-copy span{font-size:11px;opacity:.68}.light-link{color:var(--white);white-space:nowrap}.booking{padding:150px 7vw;background:#e7e1d4;text-align:center}.booking-inner{max-width:1050px;margin:0 auto}.booking h2{margin:0;font-size:clamp(62px,7vw,110px)}.booking-inner>p:not(.eyebrow){margin:36px auto 0;font-size:14px}.availability-card,.inquiry-card{max-width:1040px;margin:54px auto 0;text-align:left;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}.availability-fields{display:grid;grid-template-columns:1fr 1fr .75fr auto;align-items:end}.availability-fields label,.inquiry-grid label{display:flex;flex-direction:column;gap:9px}.availability-fields label{padding:20px 22px;border-right:1px solid var(--line)}.availability-fields label>span,.inquiry-grid label>span{font-size:9px;letter-spacing:.17em;text-transform:uppercase;font-weight:500}.availability-card input,.availability-card select,.inquiry-card input,.inquiry-card textarea{width:100%;border:0;border-radius:0;background:transparent;color:var(--ink);font-size:15px;outline:none}.availability-card input,.availability-card select{min-height:28px}.check-button,.request-button{border:0;background:var(--ink);color:var(--ivory);min-height:80px;padding:0 28px;display:inline-flex;align-items:center;justify-content:space-between;gap:40px;font-size:10px;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;transition:.25s}.check-button:hover,.request-button:hover{background:var(--olive)}.availability-status,.inquiry-status{font-size:12px;line-height:1.6}.availability-status:not(:empty),.inquiry-status:not(:empty){padding:15px 22px;border-top:1px solid var(--line)}.availability-status.success{color:#31472f}.availability-status.error,.inquiry-status.error{color:#7b2f2f}.inquiry-card{padding:42px 0}.inquiry-head{padding:0 22px 30px}.inquiry-head h3{font-family:var(--serif);font-size:clamp(34px,4vw,54px);font-weight:400;margin:0 0 10px}.inquiry-head>p:last-child{margin:0;font-size:13px;opacity:.7}.inquiry-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.inquiry-grid label{padding:20px 22px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.inquiry-grid input{min-height:34px}.inquiry-grid .message-field{grid-column:1/4;border-right:0}.inquiry-grid textarea{resize:vertical;min-height:88px}.inquiry-grid small{opacity:.55;text-transform:none;letter-spacing:normal}.consent-row{margin:20px 22px;display:flex;align-items:flex-start;gap:10px;font-size:11px;line-height:1.5}.consent-row input{width:auto;margin-top:3px}.request-button{margin:8px 22px 0;min-height:56px}.booking-separator{max-width:1040px;margin:34px auto 0;display:flex;align-items:center;gap:16px;color:rgba(31,38,31,.5);font-size:10px;text-transform:uppercase;letter-spacing:.16em}.booking-separator:before,.booking-separator:after{content:"";height:1px;background:var(--line);flex:1}.booking-actions{margin-top:34px;display:flex;justify-content:center;gap:14px;flex-wrap:wrap}.booking-button{min-width:220px;padding:17px 20px;border:1px solid var(--ink);font-size:10px;letter-spacing:.15em;text-transform:uppercase;display:inline-flex;justify-content:space-between;gap:30px;transition:.25s}.booking-button:hover{background:var(--ink);color:var(--ivory)}.booking-footnote{font-size:10px!important;opacity:.55;margin-top:24px!important}.footer{background:#141b16;color:var(--white);padding:70px 5vw 28px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px;align-items:start}.footer-brand{display:flex;flex-direction:column;gap:7px}.footer-brand span{font-size:13px;letter-spacing:.18em}.footer-brand small{font-size:8px;letter-spacing:.18em;opacity:.5}.footer-center{font-family:var(--serif);font-size:25px;line-height:1.2;text-align:center}.back-top{justify-self:end;font-size:9px;letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid rgba(248,245,237,.5);padding-bottom:4px}.footer-bottom{grid-column:1/4;margin-top:70px;padding-top:18px;border-top:1px solid rgba(248,245,237,.16);display:flex;justify-content:space-between;font-size:9px;letter-spacing:.1em;opacity:.5}.reveal-image{opacity:0;transform:translateY(20px);transition:opacity .8s,transform .8s}.reveal-image.in-view{opacity:1;transform:translateY(0)}@media(max-width:980px){.site-header{padding:20px 22px}.site-header.scrolled{padding:14px 22px}.menu-toggle{display:block;z-index:102}.nav{position:fixed;inset:0;background:var(--ivory);color:var(--ink);flex-direction:column;justify-content:center;align-items:flex-start;padding:12vw;gap:20px;transform:translateX(100%);transition:transform .4s cubic-bezier(.7,0,.3,1);font-family:var(--serif);font-size:38px;text-transform:none;letter-spacing:-.02em}.nav.open{transform:translateX(0)}.nav-book{margin-top:20px;font-family:var(--sans);font-size:11px;text-transform:uppercase;letter-spacing:.12em}.menu-open .menu-toggle span:first-child{transform:translateY(4px) rotate(45deg)}.menu-open .menu-toggle span:last-child{transform:translateY(-4px) rotate(-45deg)}.intro{grid-template-columns:60px 1fr}.intro-kicker{display:none}.intro-copy{grid-column:2}.split-story,.garden,.leonidio,.details{grid-template-columns:1fr}.split-image,.garden-media{height:70vw;min-height:70vw}.garden-copy{padding:100px 7vw}.gallery-head{grid-template-columns:1fr;gap:30px}.leonidio-copy{margin-top:30px}.leonidio-cards{grid-column:1}.details-title{position:static;margin-bottom:30px}.rating-band{grid-template-columns:auto 1fr}.rating-band .eyebrow,.rating-band .text-link{grid-column:1/3}.rating-band .text-link{justify-self:start}.availability-fields{grid-template-columns:1fr 1fr}.availability-fields label{border-bottom:1px solid var(--line)}.availability-fields label:nth-child(2){border-right:0}.availability-fields label:nth-child(3){border-bottom:0}.check-button{min-height:69px}.inquiry-grid{grid-template-columns:1fr 1fr}.inquiry-grid .message-field{grid-column:1/3}.inquiry-grid label:nth-child(2){border-right:0}}@media(max-width:700px){.hero-meta{left:22px;top:92px}.hero-copy{padding:21vh 22px 36px}.hero h1{font-size:clamp(54px,15vw,78px)}.hero-bottom{align-items:start;margin-top:34px}.hero-bottom p{font-size:13px;max-width:80%}.round-link{width:44px;height:44px}.editorial-section{padding:90px 22px}.intro{display:block}.section-index{margin-bottom:60px}.intro h2,.gallery h2{font-size:14vw}.lead{margin-top:40px;font-size:25px}.full-image-section{height:68vh;margin:0}.image-caption{left:14px;right:14px;font-size:8px}.split-image{height:115vw}.split-copy h2,.details h2{font-size:13vw}.garden-media{min-height:110vw}.garden-copy{padding:86px 22px}.garden h2,.leonidio h2,.booking h2{font-size:15vw}.gallery{padding-top:100px}.gallery-grid{grid-template-columns:1fr;grid-template-rows:115vw 90vw 90vw;gap:18px}.gallery-a{grid-row:auto}.leonidio{padding:100px 22px 80px}.leonidio-cards{grid-template-columns:1fr;margin-top:70px}.leonidio-cards article{min-height:220px;padding-right:0}.leonidio-cards article+article{border-left:0;border-top:1px solid rgba(248,245,237,.2);padding-left:0}.leonidio-cards h3{margin-top:55px}.detail-row{grid-template-columns:1fr;gap:8px}.rating-band{padding:70px 22px;gap:34px 18px}.rating-number{font-size:100px}.booking{padding:110px 22px}.availability-fields,.inquiry-grid{grid-template-columns:1fr}.availability-fields label{border-right:0}.availability-fields label:nth-child(3){border-bottom:1px solid var(--line)}.check-button{width:100%;min-height:62px}.inquiry-grid label{border-right:0}.inquiry-grid .message-field{grid-column:1}.request-button{width:calc(100% - 44px)}.booking-button{width:100%}.footer{padding:60px 22px 24px;grid-template-columns:1fr}.footer-center{text-align:left;margin:30px 0}.back-top{justify-self:start}.footer-bottom{grid-column:1;margin-top:40px;flex-direction:column;gap:8px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
