@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;1,400&display=swap');
:root{--ink:#262322;--muted:#6e6661;--paper:#fffdfa;--peach:#fbeae4;--peach2:#f5d5ca;--line:#eadbd5;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}.container{width:min(1120px,calc(100% - 48px));margin:auto}.nav{min-height:94px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line)}.nav img{width:155px;height:auto;display:block}.navlinks{display:flex;align-items:center;gap:22px;font-size:12px}.navlinks a:not(.button):hover{opacity:.55}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--ink);color:#fff;border:1px solid var(--ink);padding:13px 18px;border-radius:999px;font-size:12px;font-weight:700;transition:transform .22s ease,box-shadow .22s ease}.button:hover{transform:translateY(-2px);box-shadow:0 6px 0 var(--peach2)}.button.light{background:transparent;color:var(--ink)}.eyebrow{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:#9a695d}.hero{background:var(--peach);padding:76px 0}.hero-grid{display:grid;grid-template-columns:minmax(0,.94fr) minmax(400px,1.06fr);gap:68px;align-items:center}.hero h1,.display{font:400 clamp(3.6rem,6vw,6.4rem)/.9 'Playfair Display',Georgia,serif;letter-spacing:-.075em;margin:16px 0 21px}.hero h1 em,.display em{color:#ce806b;font-style:italic}.lead{font-size:17px;line-height:1.65;color:#5f5752;max-width:540px;margin:0 0 29px}.photo-frame{background:#fff;padding:13px;box-shadow:13px 14px 0 var(--peach2)}.photo-frame img{width:100%;height:390px;object-fit:contain;display:block;background:#f6ece6}.detail-strip{background:var(--ink);color:#fff}.detail-strip .container{display:flex;gap:22px;justify-content:space-between;padding:19px 0;font-size:12px}.section{padding:88px 0}.two-col{display:grid;grid-template-columns:.78fr 1.22fr;gap:70px}.section h2{font:400 clamp(2.5rem,4vw,4.2rem)/.95 'Playfair Display',Georgia,serif;letter-spacing:-.06em;margin:12px 0}.copy-large{font-size:19px;line-height:1.7;max-width:680px;margin:0}.copy-large p{margin:0 0 18px}.text-link{font-size:13px;font-weight:700;border-bottom:1px solid var(--ink);padding-bottom:3px}.services-bg{background:#fff6f2}.section-head{display:flex;justify-content:space-between;gap:45px;align-items:end;margin-bottom:36px}.section-head p{max-width:350px;margin:0;color:var(--muted);font-size:14px}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.service-card{display:grid;grid-template-columns:48% 52%;background:#fff;min-height:280px;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}.service-card:hover{transform:translateY(-5px);box-shadow:0 10px 0 var(--peach2)}.service-card img{width:100%;height:100%;object-fit:cover;background:#f9eee9;padding:0}.service-card div{padding:30px 28px;display:flex;flex-direction:column;justify-content:center}.service-card h3{font:400 31px/1.05 'Playfair Display',Georgia,serif;letter-spacing:-.045em;margin:0 0 10px}.service-card p{font-size:14px;color:var(--muted);margin:0}.reserve{background:var(--peach2)}.reserve-grid{display:grid;grid-template-columns:1fr .92fr;gap:70px;align-items:center}.calendar{background:#fffdfa;padding:31px;box-shadow:12px 14px 0 #e7b9a9}.calendar h3{font:400 32px/1.05 'Playfair Display',Georgia,serif;letter-spacing:-.045em;margin:7px 0 18px}.days,.hours{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin:12px 0 20px}.days button,.hours button{font:inherit;font-size:11px;border:1px solid #e6d4cd;border-radius:9px;background:#fff;padding:10px 5px;cursor:pointer}.days button.active,.hours button.active{background:var(--ink);color:#fff;border-color:var(--ink)}.hours{grid-template-columns:repeat(3,1fr)}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:55px;align-items:stretch}.address{border-top:1px solid var(--line);padding-top:18px}.address p{margin:0 0 16px}.address strong{font-size:13px}.wa{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:14px}.wa svg{width:25px;height:25px;fill:var(--ink)}.map-card{min-height:315px;display:flex;align-items:end;background:linear-gradient(135deg,#e7e3e1,#cecbc8);padding:22px;filter:grayscale(1)}.map-label{background:#fffdfa;padding:13px 15px;font-size:12px;box-shadow:5px 5px 0 rgba(38,35,34,.12)}.credentials{background:var(--ink);color:#fbf4f0;padding:30px 0}.credentials p{font-size:12px;line-height:1.65;text-align:justify;max-width:1000px;margin:0}.footer{background:var(--ink);border-top:1px solid #544c49;color:#fff;padding:31px 0}.footer .container{display:flex;justify-content:space-between;align-items:center;gap:24px}.footer img{width:154px;filter:invert(1)}.footer small{font-size:11px}.page-hero{padding:75px 0 64px;background:var(--peach)}.page-hero .display{max-width:750px}.page-hero .lead{max-width:670px}.page-list{padding:62px 0}.wide-card{display:grid;grid-template-columns:270px 1fr;background:#fff;margin-bottom:20px;min-height:240px}.wide-card img{width:100%;height:210px;object-fit:cover;object-position:center;background:#f7ebe5;padding:12px;align-self:center}.wide-card .card-copy{padding:34px 38px}.wide-card h2{font-size:35px;margin:8px 0 10px}.wide-card p{font-size:14px;color:var(--muted);max-width:620px;margin:0}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.step{background:#fff;padding:30px;min-height:250px}.step h3{font:400 28px/1.05 'Playfair Display',Georgia,serif;margin:14px 0 9px}.step p{font-size:14px;color:var(--muted);margin:0}.prose{max-width:770px}.prose p{font-size:17px;color:#554f4b}.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.news-card{border:1px solid var(--line);background:#fff;padding:26px;min-height:245px;display:flex;flex-direction:column;justify-content:space-between}.news-card h2{font-size:27px;margin:10px 0}.news-card p{font-size:13px;color:var(--muted)}.notice{font-size:13px;background:#fff;outline:1px solid var(--line);padding:16px 18px;margin:24px 0 0;color:var(--muted)}.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}.reveal.visible{opacity:1;transform:none}@media(max-width:780px){.container{width:min(100% - 40px,1120px)}.nav{min-height:80px}.navlinks a:not(.button){display:none}.hero,.page-hero{padding:50px 0}.hero-grid,.two-col,.reserve-grid,.contact-grid{grid-template-columns:1fr;gap:30px}.hero h1,.display{font-size:clamp(3.2rem,14vw,4.7rem)}.photo-frame img{height:auto;aspect-ratio:1.3}.detail-strip .container{display:block;line-height:2}.section{padding:59px 0}.section-head{display:block}.section-head p{margin-top:18px}.service-grid,.news-grid{grid-template-columns:1fr}.service-card{grid-template-columns:44% 56%;min-height:190px}.service-card div{padding:20px}.service-card h3{font-size:26px}.service-card img{padding:7px}.wide-card{grid-template-columns:1fr}.wide-card img{height:210px}.wide-card .card-copy{padding:27px}.steps{grid-template-columns:1fr}.footer .container{display:block}.footer small{display:block;margin-top:18px}.calendar{padding:23px}.map-card{min-height:260px}}

.gallery{display:grid;grid-template-columns:1.15fr .85fr .85fr;gap:12px;margin-top:35px}.gallery figure{margin:0;min-height:210px;overflow:hidden;background:#eee}.gallery figure:first-child{grid-row:span 2;min-height:432px}.gallery img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.82)}@media(max-width:780px){.gallery{grid-template-columns:1fr 1fr}.gallery figure:first-child{grid-column:span 2;grid-row:auto;min-height:250px}.gallery figure{min-height:140px}}
.news-hero{padding-bottom:105px}.news-section{margin-top:-50px;padding-top:0}.featured-news{display:grid;grid-template-columns:1fr 1fr;background:#fff;border:1px solid var(--line);min-height:410px}.featured-news>img{width:100%;height:100%;min-height:410px;object-fit:cover;filter:saturate(.8)}.featured-copy{padding:48px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.featured-copy h2{font:400 clamp(2.3rem,3.4vw,3.6rem)/.98 'Playfair Display',Georgia,serif;letter-spacing:-.06em;margin:7px 0 17px}.featured-copy>p:not(.news-date){font-size:14px;color:var(--muted);max-width:430px;margin:0 0 25px}.news-date{font-size:11px;color:#9a695d;margin:10px 0 0}.visual-news-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}.visual-news{position:relative;min-height:410px;overflow:hidden;background:#292727;color:#fff}.visual-news img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(.25) saturate(.65) brightness(.58);transition:transform .5s ease}.visual-news:hover img{transform:scale(1.05)}.visual-news div{position:absolute;inset:0;padding:32px;display:flex;flex-direction:column;align-items:flex-start;justify-content:end;background:linear-gradient(0deg,rgba(20,16,14,.75),rgba(20,16,14,.02) 66%)}.visual-news .eyebrow{color:#ffe9e1}.visual-news h2{font:400 39px/1 'Playfair Display',Georgia,serif;letter-spacing:-.055em;margin:4px 0 18px}.visual-news .text-link{border-color:#fff}.visual-news .news-date{color:#fff3ed}@media(max-width:780px){.news-hero{padding-bottom:75px}.news-section{margin-top:-25px}.featured-news{grid-template-columns:1fr}.featured-news>img{min-height:240px}.featured-copy{padding:30px}.visual-news-grid{grid-template-columns:1fr}.visual-news{min-height:340px}}
.live-news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.live-news{background:#fff;border:1px solid var(--line);display:flex;flex-direction:column}.live-news> a:first-child{display:block;height:210px;background:#f3e7e1;overflow:hidden}.live-news img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}.live-news:hover img{transform:scale(1.03)}.live-news>div{padding:24px;display:flex;flex:1;align-items:flex-start;flex-direction:column}.live-news h2{font:400 29px/1.04 'Playfair Display',Georgia,serif;letter-spacing:-.05em;margin:8px 0 12px}.live-news h2 a:hover{text-decoration:underline}.live-news div>p:not(.news-date){font-size:13px;color:var(--muted);margin:0 0 18px}.live-news .text-link{margin-top:auto}.featured-live{grid-column:span 2;display:grid;grid-template-columns:1fr 1fr}.featured-live>a:first-child{height:auto;min-height:360px}.featured-live>div{padding:38px}.featured-live h2{font-size:42px}.featured-live div>p:not(.news-date){font-size:14px}@media(max-width:780px){.live-news-grid{grid-template-columns:1fr}.featured-live{grid-column:span 1;grid-template-columns:1fr}.featured-live>a:first-child{height:250px;min-height:0}.featured-live>div{padding:28px}.featured-live h2{font-size:34px}}
.news-actions{display:flex;justify-content:center;gap:12px;margin:34px 0 0}.publication-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.publication-card{border:1px solid var(--line);background:#fff;display:flex;flex-direction:column;min-height:440px}.publication-card>img{width:100%;height:235px;object-fit:cover;background:#f4e9e3}.publication-card>div:last-child{padding:25px;display:flex;flex-direction:column;flex:1;align-items:flex-start}.publication-card h2{font:400 30px/1.04 'Playfair Display',Georgia,serif;letter-spacing:-.05em;margin:10px 0 20px}.publication-card .text-link{margin-top:auto}.publication-text{background:var(--peach)}.publication-mark{min-height:235px!important;background:var(--ink);color:#fff;font:400 41px/.92 'Playfair Display',Georgia,serif;letter-spacing:-.05em;justify-content:end!important}.publication-mark i{color:#edaf9d;font-style:italic}.publication-text p{font-size:14px;color:var(--muted);margin:0 0 18px}@media(max-width:780px){.news-actions{flex-direction:column;align-items:center}.publication-grid{grid-template-columns:1fr}.publication-card{min-height:390px}}
.articles-block{margin-top:80px;padding-top:70px;border-top:1px solid var(--line)}

.online-layout{display:grid;grid-template-columns:.86fr 1.14fr;gap:70px;align-items:center}.online-visual{background:#fff;padding:22px;box-shadow:12px 14px 0 var(--peach2)}.online-visual img{width:100%;display:block;filter:grayscale(1) contrast(.88) brightness(1.04);mix-blend-mode:multiply}@media(max-width:780px){.online-layout{grid-template-columns:1fr;gap:32px}.online-visual{padding:14px}}
.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.price-card{background:#fff;border:1px solid var(--line);padding:34px;min-height:330px;display:flex;align-items:flex-start;flex-direction:column}.price-card.featured{background:var(--peach);border-color:#e9c7bc}.price-card h2{font:400 34px/1.02 'Playfair Display',Georgia,serif;letter-spacing:-.055em;margin:12px 0}.price{font:400 58px/.9 'Playfair Display',Georgia,serif;letter-spacing:-.07em;margin:16px 0 6px}.price small{font-size:26px;letter-spacing:-.04em}.price.consult{font-size:34px;letter-spacing:-.045em;line-height:1.05;margin-top:26px}.price-duration{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#9a695d;margin:0 0 20px}.price-card>p:not(.price):not(.price-duration){font-size:14px;color:var(--muted);margin:0 0 25px;max-width:420px}.price-card .button,.price-card .text-link{margin-top:auto}@media(max-width:780px){.pricing-grid{grid-template-columns:1fr}.price-card{min-height:0;padding:29px}.price{font-size:52px}}
.price-list{list-style:none;padding:0;margin:0 0 25px;font-size:14px;color:var(--muted)}.price-list li{padding:9px 0;border-top:1px solid var(--line)}.price-list li:last-child{border-bottom:1px solid var(--line)}@media(max-width:980px) and (min-width:781px){.pricing-grid{grid-template-columns:repeat(2,1fr)}}
.price-intro{font-size:14px;color:var(--muted);margin:0 0 16px}
.booking-hero{padding-bottom:92px}.booking-section{padding-top:0;margin-top:-42px;position:relative}.booking-layout{display:grid;grid-template-columns:1.24fr .76fr;gap:22px;align-items:start}.booking-panel,.booking-summary{background:#fff;border:1px solid var(--line);padding:38px}.booking-step+.booking-step{border-top:1px solid var(--line);margin-top:30px;padding-top:30px}.booking-step h2,.booking-summary h2{font:400 35px/1.02 'Playfair Display',Georgia,serif;letter-spacing:-.055em;margin:9px 0 20px}.mode-choice{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mode{font:600 16px/1.25 'DM Sans',Arial,sans-serif;text-align:left;color:var(--ink);border:1px solid var(--line);background:var(--white);padding:18px;cursor:pointer;border-radius:14px;box-shadow:none;-webkit-appearance:none;appearance:none;transition:background .22s,border-color .22s,transform .22s}.mode:hover,.mode.active{color:var(--ink);background:var(--peach);border-color:#dba994;transform:translateY(-2px)}.mode:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.mode span{display:block;font-size:12px;color:var(--muted);margin-top:4px}.booking-days{display:grid;grid-template-columns:repeat(5,1fr);gap:9px}.booking-days button,.booking-hours button{background:#fffdfa;border:1px solid var(--line);font:inherit;cursor:pointer;transition:background .22s,transform .22s}.booking-days button{padding:13px 8px}.booking-days button span{font-size:11px;display:block;color:var(--muted)}.booking-days button strong{display:block;font:400 29px/1 'Playfair Display',Georgia,serif;margin-top:4px}.booking-days button:hover,.booking-days button.active,.booking-hours button:hover,.booking-hours button.active{background:var(--ink);color:#fff;border-color:var(--ink);transform:translateY(-2px)}.booking-days button.active span{color:#fff}.booking-hours{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.booking-hours button{padding:13px 8px}.booking-summary{position:sticky;top:24px;background:var(--peach)}.booking-note{border-top:1px solid #e5bcae;padding:13px 0}.booking-note span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#9a695d}.booking-note strong{font:500 17px/1.3 'DM Sans',sans-serif;display:block;margin-top:3px}.booking-summary>p{font-size:13px;color:#5f5752;margin:19px 0}.booking-continue{width:100%;margin-top:6px}.booking-help{text-align:center}@media(max-width:780px){.booking-hero{padding-bottom:70px}.booking-section{margin-top:-25px}.booking-layout{grid-template-columns:1fr}.booking-panel,.booking-summary{padding:25px}.booking-summary{position:static}.booking-step h2,.booking-summary h2{font-size:31px}.mode-choice{grid-template-columns:1fr}.booking-days{gap:5px}.booking-days button{padding:11px 3px}.booking-days button strong{font-size:25px}}
.faq-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:70px;align-items:start}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line);padding:0}.faq-list summary{list-style:none;cursor:pointer;font:400 27px/1.1 'Playfair Display',Georgia,serif;letter-spacing:-.045em;padding:23px 36px 23px 0;position:relative}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';font:400 28px/1 'DM Sans',sans-serif;position:absolute;right:4px;top:21px}.faq-list details[open] summary:after{content:'–'}.faq-list p{color:var(--muted);font-size:14px;line-height:1.65;max-width:620px;margin:0;padding:0 36px 23px 0}@media(max-width:780px){.faq-layout{grid-template-columns:1fr;gap:30px}.faq-list summary{font-size:24px;padding:20px 32px 20px 0}.faq-list summary:after{top:18px}.faq-list p{padding-right:10px}}
.portal-body{background:#f8e5de}.portal-shell{width:min(1020px,calc(100% - 48px));margin:0 auto;padding:26px 0 70px}.portal-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:33px}.portal-top img{width:145px}.portal-private{font-size:11px;letter-spacing:.1em;text-transform:uppercase;border:1px solid #d8bdb4;padding:8px 10px}.portal-welcome{max-width:710px;padding:46px 0 45px}.portal-kicker,.portal-label{font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:#9a695d}.portal-welcome h1{font:400 clamp(3.4rem,6.2vw,5.8rem)/.91 'Playfair Display',Georgia,serif;letter-spacing:-.075em;margin:12px 0 20px}.portal-welcome h1 em{font-style:italic;color:#c97e6a}.portal-welcome p:not(.portal-kicker){font-size:17px;line-height:1.65;max-width:590px;color:#5e5651}.portal-next{background:#292727;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:25px 28px;margin-bottom:18px}.portal-next span,.portal-next small{display:block;font-size:12px;color:#e8d9d3}.portal-next strong{display:block;font:400 29px 'Playfair Display',Georgia,serif;margin:5px 0}.portal-next a{font-weight:700;font-size:13px;border-bottom:1px solid #fff;padding-bottom:3px}.portal-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:18px}.portal-feature{grid-row:span 2;background:#fffdfa;padding:35px;min-height:440px;display:flex;align-items:flex-start;flex-direction:column}.portal-icon{width:58px;height:58px;border-radius:50%;background:#292727;color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;letter-spacing:3px;margin-bottom:35px}.portal-feature h2{font:400 45px/.98 'Playfair Display',Georgia,serif;letter-spacing:-.06em;margin:11px 0 16px;max-width:400px}.portal-feature p,.portal-card p{font-size:14px;color:#6e6661;line-height:1.55}.portal-feature button{background:#292727;color:#fff;border:0;padding:13px 16px;font:700 12px 'DM Sans',sans-serif;margin-top:auto;cursor:pointer}.portal-feature button b,.portal-card b,.portal-next b{font-size:16px;margin-left:8px}.portal-card{background:#fff;padding:27px;min-height:211px;display:flex;align-items:flex-start;flex-direction:column}.portal-card h3{font:400 28px/1.04 'Playfair Display',Georgia,serif;letter-spacing:-.045em;margin:10px 0}.portal-card a{font-size:12px;font-weight:700;margin-top:auto;border-bottom:1px solid #292727}.peach-card{background:#f4cbc0}.resource-card{grid-column:2}.resource-card ul{margin:11px 0 16px;padding:0;list-style:none;font-size:13px;color:#6e6661}.resource-card li{padding:4px 0;border-bottom:1px solid #eadbd5}.portal-demo{text-align:center;font-size:12px;color:#6e6661;margin-top:30px}@media(max-width:720px){.portal-shell{width:min(100% - 32px,1020px)}.portal-top{padding-bottom:18px}.portal-top img{width:128px}.portal-private{font-size:9px;padding:7px}.portal-welcome{padding:32px 0}.portal-welcome h1{font-size:3.35rem}.portal-next{display:block;padding:22px}.portal-next a{display:inline-block;margin-top:16px}.portal-grid{grid-template-columns:1fr}.portal-feature{grid-row:auto;min-height:360px}.portal-feature h2{font-size:39px}.resource-card{grid-column:auto}}
.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.process-card{background:#fff;padding:32px;min-height:260px}.process-card h3{font:400 30px/1.04 'Playfair Display',Georgia,serif;letter-spacing:-.05em;margin:13px 0}.process-card p{font-size:14px;line-height:1.6;color:var(--muted);margin:0}@media(max-width:780px){.process-grid{grid-template-columns:1fr}.process-card{min-height:0;padding:28px}}

.menu-toggle{display:none}@media(max-width:780px){.nav{flex-wrap:wrap;gap:10px}.navlinks{display:none}.menu-toggle{display:inline-flex;align-items:center;justify-content:center;margin-left:auto;border:1px solid var(--ink);background:transparent;padding:10px 12px;border-radius:999px;font:700 11px 'DM Sans',sans-serif;cursor:pointer}.navlinks{margin-left:0}.navlinks.open{width:100%;order:3;display:grid;grid-template-columns:1fr;padding:14px 0 4px;border-top:1px solid var(--line);gap:0}.navlinks.open a:not(.button){display:block;padding:10px 0;font-size:13px}.navlinks.open .button{width:max-content;margin-top:9px}.navlinks.open a{animation:menu-item .25s ease both}@keyframes menu-item{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}}
.real-availability p{font-size:14px;line-height:1.6;color:var(--muted);max-width:510px;margin:0 0 21px}.real-availability .button{margin-top:3px}
.menu-toggle,.menu-toggle:hover,.menu-toggle:active{color:var(--ink);background:var(--paper);-webkit-appearance:none;appearance:none;outline:none}.menu-toggle:focus-visible{outline:2px solid var(--peach2);outline-offset:3px}
.map-card{position:relative;overflow:hidden}.map-card iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(1) contrast(.9);z-index:0}.map-card .map-label{position:relative;z-index:1;display:block;margin:0;color:var(--ink);text-decoration:none}.phone-title{display:flex;align-items:center;gap:8px;margin-top:17px}.phone-title svg{width:20px;height:20px;fill:var(--ink)}.phone-link{font-weight:700;font-size:16px}
.first-visit-info{display:grid;grid-template-columns:.9fr 1.1fr;gap:68px;align-items:center}.first-visit-photo{background:#fff;padding:12px;box-shadow:12px 14px 0 var(--peach2)}.first-visit-photo img{display:block;width:100%;height:390px;object-fit:cover;filter:saturate(.78)}.visit-details{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:28px 0}.visit-details div{padding:14px 12px 14px 0}.visit-details div+div{padding-left:14px;border-left:1px solid var(--line)}.visit-details strong{display:block;font:400 22px/1.1 'Playfair Display',Georgia,serif}.visit-details span{display:block;font-size:11px;color:var(--muted);line-height:1.35;margin-top:5px}@media(max-width:780px){.first-visit-info{grid-template-columns:1fr;gap:28px}.first-visit-photo img{height:270px}.visit-details{grid-template-columns:1fr}.visit-details div+div{padding-left:0;border-left:0;border-top:1px solid var(--line)}}

.contact-inline{display:flex;align-items:center;gap:8px;margin:16px 0;color:var(--ink);font-size:16px;line-height:1.25}.contact-inline svg{width:20px;height:20px;flex:0 0 auto;fill:var(--ink)}.contact-inline strong{font-size:16px}.contact-inline a{font-weight:700}.email-line{margin-top:13px}.email-line a{font-weight:500}

.address-line{margin:12px 0 18px}.address-line span{font-weight:500}

.availability-card{display:flex;flex-direction:column;justify-content:center}.availability-mark{display:flex;gap:11px;align-items:flex-start;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:5px 0 15px}.availability-mark span{font-size:17px;line-height:1;color:#d88d77}.availability-mark p,.availability-card>p{font-size:12px;color:var(--muted);margin:0;line-height:1.55}.availability-lines{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 17px}.availability-lines span{border:1px solid var(--line);border-radius:999px;padding:7px 9px;font-size:10px;font-weight:700}

.eholo-booking{background:var(--white);border:1px solid var(--line);padding:42px}.eholo-intro{max-width:610px;margin:0 auto 30px;text-align:center}.eholo-intro h2{font:400 clamp(2.6rem,4vw,4rem)/.98 'Playfair Display',Georgia,serif;letter-spacing:-.06em;margin:9px 0 14px}.eholo-intro p{font-size:14px;color:var(--muted);margin:0}.eholo-frame{position:relative;min-height:760px;background:var(--peach);padding:10px;box-shadow:10px 12px 0 var(--peach2)}.eholo-frame iframe{display:block;width:100%;height:740px;border:0;background:#fff}.eholo-fallback{text-align:center;font-size:12px;color:var(--muted);margin:22px 0 0}@media(max-width:780px){.eholo-booking{padding:23px 14px}.eholo-intro{padding:0 9px}.eholo-frame{min-height:680px;padding:6px;box-shadow:6px 7px 0 var(--peach2)}.eholo-frame iframe{height:668px}}

.reviews-section{background:#fff6f2}.reviews-layout{display:grid;grid-template-columns:1fr .82fr;gap:70px;align-items:center}.reviews-layout h2{font:400 clamp(2.6rem,4vw,4.1rem)/.96 'Playfair Display',Georgia,serif;letter-spacing:-.06em;margin:12px 0}.google-review-card{background:var(--white);padding:35px;box-shadow:10px 12px 0 var(--peach2);display:flex;align-items:flex-start;flex-direction:column}.review-stars{font-size:18px;letter-spacing:3px;color:#c97e6a;margin-bottom:18px}.google-review-card strong{font:400 54px/.9 'Playfair Display',Georgia,serif;letter-spacing:-.07em}.google-review-card>span{font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:700;color:#9a695d;margin:9px 0 17px}.google-review-card p{font-size:13px;color:var(--muted);line-height:1.55;margin:0 0 21px}@media(max-width:780px){.reviews-layout{grid-template-columns:1fr;gap:30px}.google-review-card{padding:29px}}

.reserve-actions{display:flex;align-items:center;gap:13px;flex-wrap:wrap}.follow-up-link{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--ink);background:transparent;color:var(--ink);border-radius:999px;padding:9px 13px;font-size:11px;font-weight:700;transition:background .2s,color .2s}.follow-up-link:hover{background:var(--ink);color:#fff}.follow-up-link span{font-size:16px;line-height:0}

.blog-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:22px;align-items:start}.blog-feature{background:#fff;padding:45px;box-shadow:10px 12px 0 var(--peach2)}.blog-date{font-size:11px;color:#9a695d;margin:10px 0}.blog-feature h2{font:400 clamp(2.5rem,4vw,4.1rem)/.98 'Playfair Display',Georgia,serif;letter-spacing:-.06em;margin:9px 0 23px}.blog-feature>p:not(.blog-date){max-width:680px;font-size:16px;color:#5f5752;line-height:1.7}.blog-aside{background:var(--peach);padding:34px}.blog-aside h3{font:400 35px/1.03 'Playfair Display',Georgia,serif;letter-spacing:-.055em;margin:14px 0}.blog-aside p{font-size:14px;color:var(--muted);line-height:1.6;margin:0 0 27px}@media(max-width:780px){.blog-layout{grid-template-columns:1fr}.blog-feature{padding:30px}.blog-aside{padding:30px}}

.google-review-card .text-link{display:inline-flex;align-items:center;gap:7px;color:var(--ink)}.review-link-icon{width:17px;height:17px;fill:var(--ink)}

.blog-layout.blog-only{grid-template-columns:minmax(0,820px);justify-content:center}
/* Primera visita: lectura alineada y cierre sin CTA repetido. */
body:has(.first-visit-info) main p{text-align:justify}
body:has(.first-visit-info) .two-col .copy-large .button[href="reserva.html"]{display:none}

/* Cabecera: logo con algo más de presencia. */
.nav img{width:170px}
.blog-entry-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.blog-entry{background:#fff;border:1px solid var(--line);padding:32px;min-height:280px;display:flex;flex-direction:column;align-items:flex-start}.blog-entry h2{font:400 38px/1.02 'Playfair Display',Georgia,serif;letter-spacing:-.06em;margin:12px 0}.blog-entry p{font-size:14px;line-height:1.6;color:var(--muted);margin:0 0 24px}.blog-entry .text-link{margin-top:auto}.article-prose{max-width:790px}.article-prose p{font-size:17px;line-height:1.75;color:#514b47;margin:0 0 22px}@media(max-width:780px){.blog-entry-grid{grid-template-columns:1fr}.blog-entry{min-height:0;padding:28px}.blog-entry h2{font-size:34px}.article-prose p{font-size:16px}}

@media(max-width:780px){.navlinks.open .button{display:none}}
