:root{--forest:#213529;--olive:#43612e;--lime:#a5c91a;--chalk:#f4f0e7;--sand:#d8c9af;--ink:#182018;--white:#fffdf8;--serif:ivypresto-display,Cormorant,Georgia,serif;--sans:Montserrat,Manrope,Arial,sans-serif;--ease:cubic-bezier(.22,1,.36,1);--pad:clamp(1.25rem,5vw,5.5rem)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--chalk);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65}body.menu-open{overflow:hidden}img{display:block;width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{color:inherit}.sr-only,.honeypot{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:9999;background:var(--white);padding:.75rem 1rem}.skip-link:focus{top:1rem}:focus-visible{outline:3px solid var(--lime);outline-offset:4px}
.site-header{position:fixed;z-index:100;top:0;left:0;right:0;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:2rem;padding:1rem var(--pad);color:var(--white);transition:background .42s var(--ease),padding .42s var(--ease),color .42s var(--ease)}.site-header.scrolled,.site-header.on-light{background:rgba(33,53,41,.96);padding-top:.55rem;padding-bottom:.55rem;backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:.7rem;font-family:var(--serif);font-size:1.55rem;line-height:.85}.brand img{width:48px;height:40px;object-fit:contain}.brand small{display:block;margin-top:.45rem;font-family:var(--sans);font-size:.58rem;letter-spacing:.16em;text-transform:uppercase}.nav-primary ul{display:flex;justify-content:center;gap:clamp(1rem,2vw,2.4rem);list-style:none;margin:0;padding:0}.nav-primary a{position:relative;font-size:.76rem;font-weight:600;letter-spacing:.06em}.nav-primary a:after{content:"";position:absolute;left:0;bottom:-.4rem;width:100%;height:1px;background:var(--lime);transform:scaleX(0);transform-origin:right;transition:transform .35s var(--ease)}.nav-primary a:hover:after,.nav-primary a[aria-current]:after{transform:scaleX(1);transform-origin:left}.header-book{display:flex;align-items:center;gap:.7rem;border:1px solid rgba(255,255,255,.45);padding:.7rem 1rem;font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em;transition:.25s}.header-book:hover{background:var(--lime);border-color:var(--lime);color:var(--forest)}.nav-toggle{display:none;background:none;border:0;padding:.5rem}.nav-toggle>span:not(.sr-only){display:block;width:26px;height:1px;background:currentColor;margin:5px}
h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:.94}h1 em,h2 em{font-weight:400}.hero{position:relative;min-height:100svh;color:var(--white);overflow:hidden}.hero-media,.hero-shade{position:absolute;inset:0}.hero-media img,.hero-media video{display:block;width:100%;height:100%;object-fit:cover;animation:heroBreath 14s var(--ease) both}.hero-shade{background:linear-gradient(90deg,rgba(15,28,20,.72) 0%,rgba(15,28,20,.18) 65%),linear-gradient(0deg,rgba(15,28,20,.45),transparent 50%)}.hero-content{position:relative;z-index:2;display:flex;min-height:100svh;flex-direction:column;justify-content:center;align-items:flex-start;padding:8rem var(--pad) 6rem;max-width:980px}.location,.section-index{font-size:.67rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase}.hero h1{font-size:clamp(4rem,9vw,9rem);letter-spacing:-.045em;margin:.4rem 0 1.2rem}.hero-copy{max-width:510px;font-size:clamp(1rem,1.4vw,1.25rem)}.hero-actions{display:flex;align-items:center;gap:2.5rem;margin-top:1rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:.85rem 1.5rem;border:1px solid transparent;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;transition:transform .25s var(--ease),background .25s,color .25s}.button:hover{transform:translateY(-3px)}.button-light{background:var(--white);color:var(--forest)}.button-dark{background:var(--forest);color:var(--white)}.circle-link{display:flex;width:88px;height:88px;border:1px solid rgba(255,255,255,.65);border-radius:50%;flex-direction:column;align-items:center;justify-content:center;font-size:.61rem;text-transform:uppercase;transition:transform .4s var(--ease),background .3s}.circle-link b{font-family:var(--serif);font-size:1.5rem}.circle-link:hover{background:var(--lime);color:var(--forest);border-color:var(--lime);transform:rotate(-8deg) scale(1.07)}.circle-link.dark{position:absolute;right:var(--pad);bottom:var(--pad);color:var(--white);background:rgba(33,53,41,.6)}.scroll-hint{position:absolute;z-index:2;right:var(--pad);bottom:2rem;display:flex;align-items:center;gap:.8rem;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase}.scroll-hint span{width:54px;height:1px;background:currentColor;animation:pulseLine 2s infinite}.section-pad{padding:clamp(5.5rem,11vw,11rem) var(--pad)}.intro-grid,.section-heading{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(250px,.65fr);gap:clamp(2rem,8vw,9rem);align-items:end}.intro-grid h2,.section-heading h2,.service-list h2{font-size:clamp(3.5rem,7vw,7.7rem);letter-spacing:-.04em;margin:0}.intro-grid>div p,.section-heading>p{font-size:1.05rem;max-width:440px}.text-link{display:inline-flex;gap:.75rem;align-items:center;padding-bottom:.25rem;border-bottom:1px solid currentColor;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.text-link span{transition:transform .25s}.text-link:hover span{transform:translate(4px,-4px)}.image-pair{display:grid;grid-template-columns:.8fr 1.3fr;gap:clamp(1rem,4vw,4rem);align-items:end;margin-top:clamp(4rem,9vw,9rem)}.image-pair figure{margin:0;overflow:hidden}.image-pair .portrait img{aspect-ratio:3/4;object-fit:cover}.image-pair .landscape{transform:translateY(12%)}.image-pair .landscape img{aspect-ratio:4/3;object-fit:cover}.facts{display:grid;grid-template-columns:repeat(4,1fr);background:var(--forest);color:var(--white);padding:3rem var(--pad)}.facts div{padding:1rem 2rem;border-left:1px solid rgba(255,255,255,.18)}.facts div:first-child{border:0}.facts strong{display:block;font-family:var(--serif);font-size:clamp(3rem,5vw,5rem);font-weight:400;line-height:1}.facts span{font-size:.68rem;text-transform:uppercase;letter-spacing:.14em}.experience{background:var(--sand)}.section-heading{margin-bottom:5rem}.amenities{border-top:1px solid rgba(24,32,24,.3)}.amenities article{display:grid;grid-template-columns:90px 1fr 1fr;gap:2rem;align-items:baseline;padding:2.25rem 0;border-bottom:1px solid rgba(24,32,24,.3)}.amenities article>span{font-size:.65rem}.amenities h3{font-size:clamp(2rem,3.5vw,3.6rem);margin:0}.amenities p{margin:0;max-width:460px}.full-bleed-story{position:relative;min-height:90vh}.story-image{position:absolute;inset:0}.story-image img{height:100%;object-fit:cover}.story-card{position:absolute;left:var(--pad);bottom:var(--pad);max-width:570px;background:var(--chalk);padding:clamp(2rem,5vw,5rem)}.story-card>p{font-size:.68rem;text-transform:uppercase;letter-spacing:.15em}.story-card h2{font-size:clamp(3.5rem,6vw,6.5rem);letter-spacing:-.04em}.gallery-tease .section-heading{align-items:end}.mosaic{display:grid;grid-template-columns:1fr .8fr;grid-template-rows:310px 310px;gap:1rem}.gallery-item{position:relative;padding:0;border:0;background:var(--sand);overflow:hidden;cursor:zoom-in;text-align:left}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease),filter .8s}.gallery-item:hover img{transform:scale(1.045);filter:saturate(1.08)}.mosaic .tall{grid-row:1/3}.mosaic .wide{grid-column:2}.booking-band{display:grid;grid-template-columns:1.3fr .7fr;gap:4rem;align-items:end;padding:clamp(4rem,8vw,8rem) var(--pad);background:var(--lime);color:var(--forest)}.booking-band h2{font-size:clamp(4rem,8vw,8rem);letter-spacing:-.045em;margin:0}.booking-band>div:last-child{max-width:430px}.booking-band.compact{align-items:center}.booking-band.compact h2{font-size:clamp(3rem,6vw,6rem)}
.site-footer{padding:clamp(4rem,8vw,8rem) var(--pad) 2rem;background:var(--forest);color:var(--white)}.footer-lead{display:flex;justify-content:space-between;align-items:center;padding-bottom:4rem;border-bottom:1px solid rgba(255,255,255,.2)}.footer-lead>p{font-family:var(--serif);font-size:clamp(2.4rem,4vw,4.5rem);margin:0}.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:3rem;padding:4rem 0}.footer-grid img{width:92px;filter:brightness(0) invert(1)}.footer-grid h2{font-family:var(--sans);font-size:.66rem;text-transform:uppercase;letter-spacing:.15em}.footer-grid p,.footer-grid a{font-size:.82rem}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.2);padding-top:1.5rem;font-size:.61rem;letter-spacing:.1em;text-transform:uppercase}
.page-hero{min-height:100svh;padding-top:86px}.split-hero{display:grid;grid-template-columns:1fr 1fr;background:var(--forest);color:var(--white)}.page-hero-copy{display:flex;flex-direction:column;justify-content:center;padding:6rem var(--pad)}.page-hero-copy h1,.editorial-head h1,.tour-head h1,.reserve-hero h1,.contact-copy h1,.error-page h1{font-size:clamp(4rem,7.5vw,8rem);letter-spacing:-.045em}.page-hero-copy>p:last-child{max-width:500px}.page-hero-image{overflow:hidden}.page-hero-image img{height:100%;object-fit:cover;animation:heroBreath 14s var(--ease) both}.house-intro{background:var(--white)}.room-story{display:grid;grid-template-columns:1.25fr .75fr;min-height:75vh;background:var(--sand)}.room-story.reverse{grid-template-columns:.75fr 1.25fr}.room-story.reverse .room-image{order:2}.room-image img{height:100%;object-fit:cover}.room-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(3rem,7vw,8rem)}.room-copy>span{font-size:.64rem;text-transform:uppercase;letter-spacing:.17em}.room-copy h2{font-size:clamp(3.5rem,6vw,6.5rem);letter-spacing:-.04em}.service-list{display:grid;grid-template-columns:1fr 1fr;gap:5rem}.service-columns{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.service-columns ul{list-style:none;padding:0;margin:0}.service-columns li{padding:1.15rem 0;border-bottom:1px solid rgba(24,32,24,.25);font-size:.85rem}.image-break{position:relative;height:80vh}.image-break>img{height:100%;object-fit:cover}
.editorial-head{padding:clamp(10rem,17vw,15rem) var(--pad) clamp(5rem,10vw,9rem);background:var(--forest);color:var(--white)}.editorial-head h1{max-width:1000px;margin-bottom:2rem}.editorial-head>p:last-child{max-width:600px;font-size:1.1rem}.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem;padding:var(--pad)}.gallery-grid .gallery-item{grid-column:span 4;aspect-ratio:4/3}.gallery-grid .gallery-item.tall{grid-column:span 5;grid-row:span 2;aspect-ratio:auto;min-height:680px}.gallery-grid .gallery-item:nth-child(3n+2){grid-column:span 7}.gallery-grid .gallery-item span{position:absolute;left:1rem;bottom:1rem;background:var(--white);padding:.4rem .7rem;font-size:.65rem;text-transform:uppercase;letter-spacing:.08em}
.tour-head{display:grid;grid-template-columns:1.4fr .6fr;align-items:end;gap:5rem;padding:clamp(10rem,16vw,14rem) var(--pad) 5rem;background:var(--forest);color:var(--white)}.tour-head h1{margin:0}.tour-head>p{max-width:460px}.tour-wrap{padding:0 var(--pad) 6rem;background:var(--forest);color:var(--white)}.tour-frame{height:min(75vh,850px);min-height:540px;background:#0d140f}.tour-frame iframe{width:100%;height:100%;border:0}.tour-help{text-align:center;margin:1rem 0 0;font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;opacity:.65}
.reserve-hero{display:grid;grid-template-columns:1.2fr .8fr;gap:6rem;padding:clamp(10rem,17vw,15rem) var(--pad) 6rem;background:var(--sand)}.reserve-hero dl{margin:0}.reserve-hero dl div{display:flex;justify-content:space-between;padding:1.2rem 0;border-bottom:1px solid rgba(24,32,24,.3)}.reserve-hero dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em}.reserve-hero dd{font-family:var(--serif);font-size:1.8rem}.booking-engine{padding:4rem var(--pad);background:var(--white)}.booking-engine iframe{display:block;width:100%;min-height:820px;border:0}.reserve-notes{display:grid;grid-template-columns:1fr 1fr;gap:5rem;padding:6rem var(--pad)}.reserve-notes h2{font-size:3rem}.reserve-notes>div:last-child{max-width:550px}
.contact-page{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(3rem,8vw,10rem);padding:clamp(10rem,16vw,14rem) var(--pad) 7rem;background:var(--sand)}.contact-data{display:flex;flex-direction:column;gap:.8rem;margin-top:3rem}.contact-data>a{font-family:var(--serif);font-size:1.8rem}.contact-data address{margin-top:1rem;font-style:normal}.contact-form{background:var(--white);padding:clamp(2rem,5vw,5rem)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.field{margin-bottom:1.8rem}.field label{display:block;margin-bottom:.45rem;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.field input,.field textarea{width:100%;border:0;border-bottom:1px solid rgba(24,32,24,.35);background:transparent;padding:.7rem 0;border-radius:0}.field textarea{resize:vertical}.check{display:flex;gap:.75rem;align-items:flex-start;font-size:.75rem;margin-bottom:2rem}.form-status{padding:1rem;margin-bottom:1.5rem}.form-status.success{background:#e3efd9}.form-status.error{background:#f3ded7}.contact-image{position:relative;height:70vh}.contact-image img{height:100%;object-fit:cover}.contact-image>div{position:absolute;left:var(--pad);right:var(--pad);bottom:var(--pad);display:flex;justify-content:space-between;align-items:center;background:var(--forest);color:var(--white);padding:1.5rem 2rem;font-size:.7rem}.posts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(2rem,4vw,5rem);padding:clamp(5rem,10vw,10rem) var(--pad)}.post-card a{display:block}.post-card img{aspect-ratio:4/3;object-fit:cover;margin-bottom:1.3rem}.post-card span{font-size:.62rem;text-transform:uppercase;letter-spacing:.1em}.post-card h2{font-size:2.3rem;margin:.7rem 0}.post-card p{font-size:.87rem}.post-card b{font-size:.67rem;text-transform:uppercase;letter-spacing:.1em}.single-post header,.legal-page header{padding:clamp(10rem,16vw,14rem) var(--pad) 5rem;background:var(--forest);color:var(--white)}.single-post header h1,.legal-page header h1{max-width:1000px;font-size:clamp(3.5rem,7vw,7rem);letter-spacing:-.04em}.back-link{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em}.single-cover{margin:0;padding:0 var(--pad);transform:translateY(-2rem)}.single-cover img{max-height:75vh;object-fit:cover}.prose{max-width:780px;margin:0 auto;padding:5rem 1.5rem 8rem;font-family:var(--serif);font-size:1.35rem}.prose h2{font-size:3rem;margin-top:2.5rem}.prose a{text-decoration:underline}.error-page{display:flex;min-height:100svh;flex-direction:column;justify-content:center;align-items:flex-start;padding:8rem var(--pad);background:var(--sand)}
[data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease),transform .8s var(--ease)}[data-reveal].is-visible{opacity:1;transform:none}.lightbox{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;background:rgba(11,18,13,.94);opacity:0;pointer-events:none;transition:opacity .3s}.lightbox.open{opacity:1;pointer-events:auto}.lightbox img{max-width:90vw;max-height:88vh;width:auto}.lightbox .lightbox__close{position:absolute;right:2rem;top:2rem;width:48px;height:48px;border:1px solid rgba(255,255,255,.5);border-radius:50%;background:none;color:white;font-size:1.5rem;cursor:pointer}
@keyframes heroBreath{from{transform:scale(1.055)}to{transform:scale(1)}}@keyframes pulseLine{0%,100%{transform:scaleX(.4);transform-origin:left}50%{transform:scaleX(1);transform-origin:left}}
@media(max-width:980px){.site-header{grid-template-columns:auto auto auto;justify-content:space-between}.nav-toggle{display:block;z-index:2}.nav-primary{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:var(--forest);opacity:0;visibility:hidden;transition:.35s}.nav-primary.open{opacity:1;visibility:visible}.nav-primary ul{flex-direction:column;text-align:center;gap:1.5rem}.nav-primary a{font-family:var(--serif);font-size:2.6rem}.header-book{padding:.65rem}.split-hero,.room-story,.room-story.reverse,.reserve-hero,.contact-page{grid-template-columns:1fr}.page-hero-image{min-height:55vh}.room-story.reverse .room-image{order:0}.service-list{grid-template-columns:1fr}.gallery-grid .gallery-item,.gallery-grid .gallery-item:nth-child(3n+2){grid-column:span 6}.gallery-grid .gallery-item.tall{grid-column:span 6}.posts-grid{grid-template-columns:1fr 1fr}.tour-head{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.booking-band{grid-template-columns:1fr}}
@media(max-width:680px){:root{--pad:1.25rem}.site-header{gap:.5rem}.brand span{display:none}.header-book{font-size:.64rem}.hero-content{padding-top:7rem}.hero h1{font-size:3.7rem}.hero-copy{font-size:.9rem}.hero-actions{gap:1rem}.circle-link{width:78px;height:78px}.scroll-hint{display:none}.intro-grid,.section-heading{grid-template-columns:1fr}.intro-grid h2,.section-heading h2,.service-list h2{font-size:3.5rem}.image-pair{grid-template-columns:1fr 1fr}.facts{grid-template-columns:1fr 1fr;padding:2rem 1rem}.facts div:nth-child(3){border-left:0}.amenities article{grid-template-columns:40px 1fr}.amenities p{grid-column:2}.full-bleed-story{min-height:760px}.story-card{right:1.25rem}.mosaic{grid-template-columns:1fr;grid-template-rows:360px 260px 260px}.mosaic .tall{grid-row:auto}.mosaic .wide{grid-column:auto}.booking-band h2{font-size:3.7rem}.footer-lead{display:block}.footer-lead .text-link{margin-top:1.5rem}.footer-grid{grid-template-columns:1fr}.footer-bottom{display:block}.page-hero-copy h1,.editorial-head h1,.tour-head h1,.reserve-hero h1,.contact-copy h1,.error-page h1{font-size:3.75rem}.page-hero{padding-top:72px}.room-story{min-height:auto}.room-image{height:56vh}.service-columns{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr;padding:1rem}.gallery-grid .gallery-item,.gallery-grid .gallery-item:nth-child(3n+2),.gallery-grid .gallery-item.tall{grid-column:1;min-height:0;aspect-ratio:4/3}.tour-frame{min-height:70svh}.reserve-hero{gap:2rem}.booking-engine{padding:1rem}.booking-engine iframe{min-height:900px}.reserve-notes{grid-template-columns:1fr}.form-row{grid-template-columns:1fr}.contact-form{padding:1.5rem}.contact-data>a{font-size:1.3rem}.contact-image>div{display:block}.contact-image .text-link{margin-top:.8rem}.posts-grid{grid-template-columns:1fr}.prose{font-size:1.15rem}}
body:not(.home) .site-header{background:rgba(33,53,41,.96);backdrop-filter:blur(12px)}

/* Gallery viewer: navigable, countable and keyboard complete */
.lightbox{grid-template-rows:auto 1fr auto;padding:1.5rem clamp(1rem,4vw,4rem);color:var(--white)}
.lightbox__top{position:absolute;z-index:3;inset:1.5rem clamp(1rem,4vw,4rem) auto;display:flex;align-items:center;justify-content:space-between;pointer-events:none}
.lightbox__counter{margin:0;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-variant-numeric:tabular-nums}
.lightbox__close{position:static!important;pointer-events:auto}
.lightbox__figure{display:grid;place-items:center;width:100%;height:100%;margin:0;overflow:hidden}
.lightbox .lightbox__figure img{max-width:min(86vw,1500px);max-height:80vh;object-fit:contain}
.lightbox.open img:not(.is-ready){opacity:0;transform:translate3d(calc(18px * var(--image-direction,1)),0,0) scale(.985);filter:blur(5px)}
.lightbox.open img.is-ready{opacity:1;transform:none;filter:none}
.lightbox .lightbox__nav{position:absolute;z-index:3;top:50%!important;display:grid;place-items:center;width:56px;height:56px;border:1px solid rgba(255,255,255,.46);border-radius:50%;background:rgba(11,18,13,.38);color:var(--white);font-size:1.35rem;cursor:pointer;transform:translateY(-50%);transition:background .22s,transform .22s,border-color .22s}
.lightbox__nav:hover,.lightbox__nav:focus-visible{background:var(--white);border-color:var(--white);color:var(--forest)}
.lightbox .lightbox__nav--prev{left:clamp(1rem,3vw,3rem)!important;right:auto!important}
.lightbox .lightbox__nav--next{right:clamp(1rem,3vw,3rem)!important;left:auto!important}
.lightbox__caption{position:absolute;z-index:3;left:50%;bottom:1.5rem;max-width:min(70ch,70vw);margin:0;text-align:center;font-family:var(--serif);font-size:1.15rem;transform:translateX(-50%)}

/* Journal index */
.journal{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(3rem,6vw,7rem) clamp(1.5rem,3vw,3.5rem);padding:clamp(5rem,10vw,10rem) var(--pad);background:var(--chalk)}
.post-card{grid-column:span 6;min-width:0}
.post-card__media{display:block;overflow:hidden;background:var(--sand)}
.post-card__media img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .85s var(--ease),filter .85s var(--ease)}
.post-card:hover .post-card__media img{transform:scale(1.035);filter:saturate(1.06)}
.post-card__body{padding-top:1.6rem}
.post-card__meta,.single-post__meta{display:flex;align-items:center;flex-wrap:wrap;gap:.7rem 1.5rem;font-size:.62rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.post-card__meta span:before,.single-post__meta span:before{content:"";display:inline-block;width:22px;height:1px;margin-right:.7rem;background:currentColor;vertical-align:middle;opacity:.45}
.post-card h2{max-width:18ch;margin:.8rem 0;font-size:clamp(2.4rem,4vw,4rem);line-height:.98}
.post-card p{max-width:58ch;margin:0 0 1.4rem;font-size:.92rem}
.post-card__link{display:inline-flex;align-items:center;gap:.5rem;font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.post-card__link span{transition:transform .3s var(--ease)}
.post-card__link:hover span{transform:translate(4px,-4px)}
.post-card--lead{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);align-items:center;background:var(--forest);color:var(--white)}
.post-card--lead .post-card__media,.post-card--lead .post-card__media img{height:100%;min-height:620px}
.post-card--lead .post-card__media img{aspect-ratio:auto}
.post-card--lead .post-card__body{padding:clamp(2.5rem,6vw,6rem)}
.post-card--lead h2{font-size:clamp(3.4rem,5vw,5.8rem)}
.journal-empty{grid-column:1/-1;padding:6rem;text-align:center;background:var(--sand)}

/* Journal reading surface */
.single-post__hero{display:grid!important;grid-template-columns:minmax(340px,.78fr) minmax(0,1.22fr);min-height:90svh;padding:0!important;background:var(--forest);color:var(--white)}
.single-post__heading{display:flex;flex-direction:column;justify-content:center;padding:clamp(9rem,13vw,13rem) clamp(2rem,6vw,7rem) 5rem var(--pad)}
.single-post__heading h1{max-width:12ch!important;margin:2rem 0 0;font-size:clamp(3.5rem,6vw,6.5rem)!important;line-height:.92}
.single-post__meta{margin-top:4rem;color:rgba(255,253,248,.72)}
.single-cover{position:relative;margin:0!important;padding:0!important;transform:none!important;overflow:hidden}
.single-cover:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(33,53,41,.32),transparent 35%);pointer-events:none}
.single-cover img{width:100%;height:100%;max-height:none!important;object-fit:cover}
.single-post__body{display:grid;grid-template-columns:minmax(180px,.28fr) minmax(0,.72fr);gap:clamp(2rem,8vw,10rem);max-width:1240px;margin:0 auto;padding:clamp(6rem,11vw,11rem) var(--pad)}
.single-post__body aside{position:sticky;top:9rem;align-self:start;padding-top:1rem;border-top:1px solid rgba(24,32,24,.35)}
.single-post__body aside span{font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.single-post__body aside p{max-width:20ch;margin-top:1rem;font-family:var(--serif);font-size:1.45rem;line-height:1.2}
.single-post .prose{max-width:760px;margin:0;padding:0;font-family:var(--sans);font-size:clamp(1.05rem,1.5vw,1.22rem);line-height:1.78}
.single-post .prose>p:first-child{font-family:var(--serif);font-size:clamp(1.55rem,2.5vw,2.15rem);line-height:1.35}
.single-post .prose h2{margin:4rem 0 1.5rem;font-size:clamp(2.7rem,5vw,4.5rem);line-height:1}
.single-post .prose h3{margin:3rem 0 1rem;font-size:2rem}
.single-post .prose p,.single-post .prose ul,.single-post .prose ol{margin:0 0 1.65rem}
.single-post .prose ul,.single-post .prose ol{padding-left:1.25rem}
.single-post .prose li{margin-bottom:.75rem;padding-left:.4rem}
.single-post .prose blockquote{margin:4rem 0;padding:2rem 0;border-top:1px solid var(--sand);border-bottom:1px solid var(--sand);font-family:var(--serif);font-size:2rem;line-height:1.25}
.single-post .prose img{width:min(100%,980px);height:auto;margin:3rem auto;object-fit:cover}
.single-post .prose img[src*="logotipo-lagarrida"],.single-post .prose img[src*="Nuevo-proyecto-2"]{display:none}
.single-post .prose iframe{width:100%;aspect-ratio:16/9;height:auto;border:0;margin:3rem 0}
.single-post__footer{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:clamp(3rem,6vw,6rem) var(--pad);background:var(--sand)}
.single-post__footer p{max-width:18ch;margin:0;font-family:var(--serif);font-size:clamp(2.3rem,4vw,4rem);line-height:1}

.home-location__map{position:relative;overflow:hidden}
.map-fallback{position:absolute;z-index:2;right:2.5rem;bottom:2.5rem;padding:.9rem 1.1rem;background:var(--white);color:var(--forest);font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 12px 36px rgba(24,32,24,.16)}

@media(max-width:980px){
  .post-card--lead{grid-template-columns:1fr}.post-card--lead .post-card__media,.post-card--lead .post-card__media img{min-height:52vh}.single-post__hero{grid-template-columns:1fr;min-height:auto}.single-post__heading{min-height:68svh}.single-cover{height:64svh}.single-post__body{grid-template-columns:1fr}.single-post__body aside{position:static;display:none}
}
@media(max-width:680px){
  .lightbox{padding:5rem 1rem 4.5rem}.lightbox .lightbox__figure img{max-width:94vw;max-height:72vh}.lightbox .lightbox__nav{top:auto!important;bottom:1.15rem;width:48px;height:48px;transform:none}.lightbox .lightbox__nav--prev{left:1rem!important;right:auto!important}.lightbox .lightbox__nav--next{right:1rem!important;left:auto!important}.lightbox__caption{bottom:1.9rem;max-width:55vw;font-size:.92rem}.lightbox__top{top:1rem}.journal{display:block;padding:4rem 1.25rem}.post-card{margin-bottom:4.5rem}.post-card--lead{display:block}.post-card--lead .post-card__media,.post-card--lead .post-card__media img{min-height:0;aspect-ratio:4/3}.post-card--lead .post-card__body{padding:2rem 1.5rem 2.5rem}.post-card h2,.post-card--lead h2{font-size:2.8rem}.single-post__heading{min-height:72svh;padding:8rem 1.25rem 4rem}.single-post__heading h1{font-size:3.65rem!important}.single-cover{height:58svh}.single-post__meta{margin-top:2rem}.single-post__body{padding:5rem 1.25rem}.single-post .prose{font-size:1rem}.single-post__footer{align-items:flex-start;flex-direction:column}.map-fallback{right:1rem;bottom:1rem}
}
