:root{--cream:#f5f1e9;--paper:#fbf9f4;--ink:#202a23;--muted:#72776f;--green:#334b3b;--sage:#dfe5d9;--line:#d9d8ce;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:76px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.topbar{height:76px;padding:0 clamp(20px,5vw,76px);display:flex;align-items:center;justify-content:space-between;background:rgba(251,249,244,.96);position:sticky;top:0;z-index:10;border-bottom:1px solid rgba(32,42,35,.09);backdrop-filter:blur(14px)}.wordmark{font:600 25px var(--serif);letter-spacing:-1px}.wordmark span{color:#a2ad91}.topbar nav{display:flex;align-items:center;gap:clamp(14px,2.5vw,34px);font-size:12px}.topbar nav a{color:#424a42}.topbar nav a:hover,.back-link:hover{color:#8a9a7e}.nav-button{padding:12px 17px;border:1px solid var(--ink);border-radius:99px}.menu-toggle{display:none;background:none;border:0;font-size:23px}.full-slide{min-height:calc(100svh - 76px);position:relative;display:grid;place-items:center;overflow:hidden;background:#6d756b}.hero-image,.hero-overlay{position:absolute;inset:0}.hero-image{background-image:url('assets/frndspace-living-dining-wide.png');background-size:cover;background-position:center}.hero-overlay{background:linear-gradient(90deg,rgba(15,26,19,.68),rgba(15,26,19,.22) 65%,rgba(15,26,19,.15))}.hero-content{position:relative;text-align:center;color:white;padding:70px 20px;max-width:900px}.eyebrow{font-size:10px;letter-spacing:2.2px;font-weight:700;color:#667263;margin:0 0 22px}.eyebrow.light{color:#e3e8dd}.hero h1{font:500 clamp(54px,10vw,130px)/1.02 var(--serif);letter-spacing:.04em;margin:18px 0 20px}.hero-sub{font:italic clamp(19px,2.4vw,28px) var(--serif);margin:0 0 34px}.pill-button{display:inline-flex;align-items:center;justify-content:center;gap:22px;border:0;border-radius:99px;padding:16px 24px;font-size:12px;font-weight:700;letter-spacing:.2px;transition:transform .2s,background .2s}.pill-button:hover,.outline-button:hover{transform:translateY(-2px)}.light-button{background:#f7f4ed;color:#263329}.dark-button{background:var(--green);color:#fff}.slide-number,.scroll-hint,.image-warning{position:absolute;color:white;font-size:10px;letter-spacing:1.7px}.slide-number{top:34px;left:clamp(20px,5vw,76px)}.slide-number span{opacity:.6}.scroll-hint{bottom:28px;left:50%;transform:translateX(-50%)}.image-warning{bottom:28px;right:clamp(18px,4vw,60px);max-width:280px;text-align:right;font-size:9px;letter-spacing:.4px;opacity:.8}.section{padding:clamp(72px,9vw,130px) clamp(20px,8vw,120px)}.section-top{max-width:800px;margin-bottom:44px}.section-top h2,.reserve-copy h2,.location-copy h2,.booking-heading h1,.thanks h1{font:500 clamp(40px,6vw,72px)/1.08 var(--serif);letter-spacing:-1.7px;margin:0 0 22px}.section-top h2 em,.reserve-copy h2 em,.location-copy h2 em,.booking-heading h1 em,.thanks h1 em{font-weight:500;color:#71816a}.section-intro{max-width:610px;color:var(--muted);line-height:1.85;font-size:14px}.prices-section{background:var(--cream)}.price-tabs{display:flex;gap:24px;border-bottom:1px solid var(--line);margin-bottom:24px;font-size:11px;font-weight:700;letter-spacing:.5px}.price-tabs span{padding:0 0 14px;color:#888d83}.price-tabs .active{color:var(--ink);border-bottom:2px solid var(--green)}.price-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.price-card{background:var(--paper);padding:27px;border:1px solid #e3e0d7;display:flex;flex-direction:column;min-height:355px}.price-card.featured{background:#e8ece3;border-color:#d0d8cb}.card-label{font-size:9px;letter-spacing:1.5px;color:#7a8276;font-weight:700}.price-card h3{font:500 27px var(--serif);margin:10px 0}.price{font:500 38px var(--serif);margin:5px 0}.price-note,.fine-print{font-size:10px;color:#777d73;line-height:1.7}.card-copy{font-size:12px;line-height:1.75;color:#686f66;flex:1}.text-button{display:inline-block;color:#334b3b;font-size:12px;font-weight:700;margin:12px 0}.outline-button{border:1px solid var(--green);border-radius:99px;background:transparent;padding:13px 16px;font-size:11px;font-weight:700;color:var(--green);margin-top:8px;transition:transform .2s}.direct-box{display:grid;grid-template-columns:.8fr 1.2fr;gap:36px;margin-top:36px;padding:32px;background:#e3e8dd}.direct-box h3{font:500 30px var(--serif);margin:0 0 12px}.direct-box p:not(.eyebrow){font-size:12px;line-height:1.8;color:#626c60}.direct-prices{display:grid;grid-template-columns:1fr 1fr;gap:12px}.direct-option{display:flex;flex-direction:column;text-align:left;background:var(--paper);border:1px solid #d5dcd0;padding:20px;gap:9px;color:var(--ink)}.direct-option span,.direct-option small{font-size:10px;color:#747b70}.direct-option strong{font:500 32px var(--serif)}.direct-option b{font-size:11px;margin-top:8px;color:var(--green)}.fine-print{margin-top:20px}.gallery-section{background:var(--paper)}.gallery-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:16px}.gallery-grid figure{margin:0;background:#e4e4da}.gallery-grid img{display:block;width:100%;height:310px;object-fit:cover}.gallery-grid .gallery-large img{height:390px}.gallery-grid figcaption{font-size:9px;letter-spacing:1.3px;padding:15px}.dark-warning{position:static;color:#777d73;text-align:left;max-width:none;margin:18px 0 0}.reviews-section{background:#e9ede5}.rating-line{display:flex;align-items:center;gap:14px;margin-top:24px}.rating-line strong{font:500 35px var(--serif)}.rating-line span,.review>span{color:#7e906f;letter-spacing:2px}.rating-line small{color:#70766e;font-size:10px}.review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.review{background:var(--paper);padding:25px;border:1px solid #e0e3da}.review blockquote{font:500 18px/1.55 var(--serif);margin:15px 0 22px}.review p{font-size:10px;color:#747b70;letter-spacing:.4px}.reserve-section{display:grid;grid-template-columns:1fr 1fr;gap:clamp(35px,8vw,120px);background:var(--green);color:white;padding:clamp(70px,9vw,120px) clamp(20px,8vw,120px)}.reserve-copy h2{font-size:clamp(44px,6vw,70px)}.reserve-copy h2 em{color:#c7d2bd}.reserve-copy>p:not(.eyebrow){color:#d6ddd2;line-height:1.9;font-size:13px;max-width:420px}.steps{display:grid;gap:14px;margin-top:45px;color:#c3d0bd;font-size:10px;letter-spacing:1px}.steps b{color:white;letter-spacing:0;margin-left:12px}.planner,.booking-form{background:var(--paper);color:var(--ink);padding:clamp(22px,3.5vw,40px);display:flex;flex-direction:column;gap:19px}.planner-title{display:flex;justify-content:space-between;gap:10px;font-size:9px;font-weight:700;letter-spacing:1.4px;padding-bottom:16px;border-bottom:1px solid var(--line)}.planner label,.booking-form>label,.booking-form .form-row label{display:flex;flex-direction:column;gap:9px;font-size:11px;font-weight:700;color:#50584e}.planner input,.planner select,.booking-form input,.booking-form textarea{width:100%;padding:13px 12px;border:1px solid #d6d8cf;background:#fffefa;border-radius:0;color:var(--ink);font-weight:400;font-size:12px;min-height:44px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.planner .pill-button,.booking-form .pill-button{width:100%;margin-top:3px}.form-help{font-size:10px;line-height:1.7;color:#7a8076;margin:0}.error{font-size:11px;color:#a03a30;margin:0}.selected-notice{background:#e4e9df;padding:12px;font-size:11px;line-height:1.6}.amenities-section{background:var(--cream)}.amenities-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.amenities-grid>div{padding:23px 18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:22px 1fr;gap:7px;font-size:17px;color:#71816a}.amenities-grid span{font-size:12px;font-weight:700;color:var(--ink);align-self:center}.amenities-grid small{grid-column:2;color:#868b80;font-size:9px}.property-note{margin-top:35px;padding:27px;background:#e5e9df;max-width:800px}.property-note strong{font:500 25px var(--serif)}.property-note p{font-size:12px;line-height:1.8;color:#667064}.location-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:55px;align-items:center;background:var(--paper)}.location-copy>p:not(.eyebrow){color:var(--muted);font-size:13px;line-height:1.9;max-width:390px;margin-bottom:28px}.map-frame{min-height:360px;background:#e4e5db}.map-frame iframe{border:0;width:100%;height:360px;filter:grayscale(.65) saturate(.65)}.partners-section{background:#293d30;color:white;padding:clamp(72px,9vw,120px) clamp(20px,8vw,120px)}.partners-section .section-top h2{font:500 clamp(40px,6vw,68px)/1.08 var(--serif);margin:0 0 20px}.partners-section h2 em{color:#c6d2bd}.partners-section .section-intro{color:#d1d9ce}.partners-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.partner-card{padding:25px;background:#354b3b;border:1px solid #526555;text-align:center}.partner-avatar{height:90px;width:90px;border-radius:50%;margin:0 auto 18px;background:#dce3d6;color:#354b3b;display:grid;place-items:center;font:500 24px var(--serif)}.partner-card h3{font:500 23px var(--serif);margin:0 0 8px}.partner-card p,.pending-contact{font-size:10px;color:#d0d9cd}.pending-contact{display:inline-block;border:1px solid #738271;padding:9px 12px;margin-top:12px}.partner-note{font-size:11px;color:#d1d9ce;line-height:1.8;margin-top:26px}footer{padding:30px clamp(20px,5vw,76px);display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:18px;background:#f0eee7}footer p,footer>a:not(.wordmark){font-size:11px;color:#677064}footer>a:not(.wordmark){text-align:right}footer small{grid-column:1/-1;color:#858a80;font-size:9px;border-top:1px solid #d9d8ce;padding-top:18px}.booking-page{background:var(--cream)}.back-link{font-size:12px}.booking-main{padding:65px clamp(20px,8vw,120px) 100px}.booking-heading{max-width:750px;margin:0 auto 45px;text-align:center}.booking-heading h1{font-size:clamp(42px,6vw,68px)}.booking-heading>p:last-child{max-width:580px;margin:0 auto;color:#6f766c;font-size:13px;line-height:1.8}.booking-columns{display:grid;grid-template-columns:.75fr 1.25fr;gap:22px;max-width:1100px;margin:auto;align-items:start}.selected-package{background:#e2e8dd;padding:30px;position:sticky;top:95px}.selected-package h2{font:500 29px var(--serif);margin:10px 0}.selected-price{font:500 40px var(--serif);margin:10px 0 28px}.selected-package dl{margin:0}.selected-package dl div{display:flex;justify-content:space-between;gap:12px;padding:13px 0;border-top:1px solid #cbd4c5;font-size:11px}.selected-package dt{color:#6d776a}.selected-package dd{margin:0;font-weight:700;text-align:right}.summary-note{font-size:10px;line-height:1.8;color:#6e786b;margin-top:22px}.booking-form{border:1px solid #e0ded5}.booking-form h2{font:500 30px var(--serif);margin:0 0 3px}.booking-form label{display:flex;flex-direction:column;gap:8px;font-size:11px;font-weight:700}.booking-form textarea{resize:vertical}.terms{background:#f0eee7;padding:20px}.terms h3{font:500 22px var(--serif);margin:0 0 12px}.terms ul{padding-left:18px;margin:0}.terms li{font-size:11px;line-height:1.7;color:#596256;margin:8px 0}.terms-note{font-size:9px;color:#858a80;line-height:1.7}.agree{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:10px!important;font-size:11px!important;line-height:1.6}.agree input{width:17px;height:17px;min-height:17px;margin-top:1px;flex-shrink:0}.hidden{display:none}.thanks{padding:100px 22px;max-width:850px;margin:auto;min-height:75vh}.thanks h1{font-size:clamp(48px,7vw,78px)}.thanks>p:not(.eyebrow){max-width:600px;color:#6d756b;line-height:1.9;font-size:13px;margin-bottom:30px}.thanks section{margin-top:80px;padding-top:35px;border-top:1px solid var(--line)}.thanks h2{font:500 35px var(--serif)}@media(max-width:900px){.topbar nav{gap:13px}.topbar nav a{font-size:10px}.price-card{padding:20px}.direct-box{grid-template-columns:1fr}.gallery-grid img{height:250px}.gallery-grid .gallery-large img{height:310px}.amenities-grid{grid-template-columns:repeat(3,1fr)}.location-section{gap:30px}.reserve-section{gap:30px}}@media(max-width:680px){.topbar{height:65px}.menu-toggle{display:block}.topbar nav{display:none;position:absolute;top:65px;left:0;right:0;background:var(--paper);padding:18px 22px 24px;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line)}.topbar nav.open{display:flex}.topbar nav a{font-size:13px;padding:8px}.nav-button{text-align:center}.full-slide{min-height:calc(100svh - 65px)}.hero h1{font-size:clamp(48px,13vw,82px)}.image-warning{bottom:60px;left:20px;right:20px;text-align:center;max-width:none}.section{padding:70px 20px}.section-top h2,.reserve-copy h2,.location-copy h2{font-size:44px}.price-grid{grid-template-columns:1fr}.price-card{min-height:0}.price-tabs{gap:15px;font-size:9px}.direct-prices{grid-template-columns:1fr 1fr}.gallery-grid{grid-template-columns:1fr 1fr}.gallery-grid .gallery-large{grid-column:1/-1}.gallery-grid img,.gallery-grid .gallery-large img{height:230px}.review-grid{grid-template-columns:1fr}.reserve-section{grid-template-columns:1fr;padding:70px 20px}.steps{margin-top:28px}.amenities-grid{grid-template-columns:repeat(2,1fr)}.amenities-grid>div{padding:17px 12px}.location-section{grid-template-columns:1fr}.map-frame,.map-frame iframe{min-height:300px;height:300px}.partners-grid{grid-template-columns:1fr}.partner-card{display:grid;grid-template-columns:70px 1fr;column-gap:16px;text-align:left;align-items:center}.partner-avatar{height:65px;width:65px;grid-row:span 3;margin:0}.partner-card h3{align-self:end}.partner-card p{margin:5px 0}.pending-contact{justify-self:start;margin-top:3px}.partners-section{padding:70px 20px}footer{grid-template-columns:1fr 1fr}footer p{display:none}footer>a:not(.wordmark){grid-column:2}footer small{line-height:1.7}.booking-main{padding:45px 18px 70px}.booking-columns{grid-template-columns:1fr}.selected-package{position:static}.form-row{grid-template-columns:1fr}.booking-heading h1{font-size:44px}.booking-form{padding:22px}.direct-box{padding:22px}.direct-option{padding:15px}.direct-option strong{font-size:27px}.rating-line{flex-wrap:wrap}.rating-line small{width:100%}}

/* Cinematic intro: brief, skippable and shown once per browser session */
.intro-screen{position:fixed;inset:0;z-index:1000;background:#080a08;color:#f5f1e9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;transition:opacity .8s ease,visibility .8s ease}.intro-screen span{font:500 clamp(34px,7vw,76px)/1 var(--serif);letter-spacing:.18em;opacity:0;animation:intro-wordmark 1.15s ease .25s forwards}.intro-screen small{font-size:9px;letter-spacing:.24em;color:#b8c2b1;opacity:0;animation:intro-caption .8s ease 1s forwards}.intro-screen button{position:absolute;right:24px;bottom:24px;background:transparent;border:1px solid #687267;color:#f5f1e9;padding:10px 14px;font-size:10px;letter-spacing:.08em;cursor:pointer}.intro-screen.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.photo-pending{border-radius:0;width:100%;height:150px;margin:0 auto 20px;background:#dce3d6;color:#354b3b;font:500 12px var(--sans);letter-spacing:.08em;text-transform:uppercase}.partner-card h3{overflow-wrap:anywhere;font-size:clamp(17px,2vw,23px)}.partners-grid{grid-template-columns:repeat(4,minmax(0,1fr))}@keyframes intro-wordmark{from{opacity:0;transform:translateY(10px);letter-spacing:.3em}to{opacity:1;transform:translateY(0);letter-spacing:.18em}}@keyframes intro-caption{to{opacity:1}}@media(max-width:900px){.partners-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.partners-grid{grid-template-columns:1fr}.photo-pending{height:120px}}@media(prefers-reduced-motion:reduce){.intro-screen span,.intro-screen small{animation:none;opacity:1}.intro-screen{transition:none;scroll-behavior:auto}}

/* Partner section: names only, with one official office contact. */
.partners-grid .partner-card{min-height:112px;display:flex;align-items:center;justify-content:center;padding:24px;text-align:center}.partners-grid .partner-card h3{margin:0;line-height:1.45}.partner-office{margin-top:30px;padding:25px;background:#354b3b;border:1px solid #526555}.partner-office p{margin:0 0 10px;color:#d1d9ce;font-size:10px;letter-spacing:1.3px;text-transform:uppercase}.partner-office a{display:inline-block;color:#fff;font-size:13px;font-weight:700;border-bottom:1px solid #8b9b85;padding-bottom:5px}@media(max-width:680px){.partners-grid .partner-card{min-height:80px;padding:20px}}

/* Reservation request receipt */
.receipt-page{max-width:900px;padding-top:70px}.receipt-card{background:#fffefa;border:1px solid #dfded5;padding:clamp(22px,4vw,42px);margin:35px 0 24px}.receipt-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:25px;border-bottom:1px solid var(--line)}.receipt-card-head .eyebrow{margin-bottom:12px}.receipt-card h2{margin:0;font:500 clamp(24px,4vw,34px) var(--serif)}.receipt-status{display:inline-block;background:#e4eadf;color:#354b3b;padding:9px 12px;font-size:10px;font-weight:700;line-height:1.5}.receipt-reference-line{display:flex;justify-content:space-between;gap:15px;padding:18px 0;border-bottom:1px solid var(--line);font-size:12px}.receipt-reference-line span,.receipt-grid small{color:#737a70}.receipt-reference-line strong{letter-spacing:.8px}.receipt-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 30px;padding:25px 0}.receipt-grid>div{min-width:0}.receipt-grid small{display:block;font-size:10px;margin-bottom:8px}.receipt-grid strong{display:block;font-size:13px;line-height:1.6;overflow-wrap:anywhere}.receipt-full{grid-column:1/-1;border-top:1px solid var(--line);padding-top:18px}.receipt-full p{font-size:12px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.receipt-disclaimer{background:#f0eee7;padding:15px;font-size:10px;line-height:1.8;color:#686f65}.receipt-actions{display:flex;flex-wrap:wrap;gap:12px}.outline-receipt{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--green);border-radius:99px;padding:16px 24px;background:transparent;color:var(--green);font-size:12px;font-weight:700}.office-contact{margin-top:60px!important;padding:35px!important;background:#e5e9df;border:0!important}.office-contact>p:not(.eyebrow){max-width:620px;font-size:13px;line-height:1.8;color:#667064}.office-contact h2{margin:0 0 12px}.office-number{font:500 25px var(--serif)}.receipt-alert{padding:15px;background:#f5e9df;color:#7c3c27;border:1px solid #e8cbb7}.receipt-alert[hidden]{display:none}@media(max-width:600px){.receipt-card-head{display:block}.receipt-status{margin-top:18px}.receipt-grid{grid-template-columns:1fr}.receipt-full{grid-column:auto}.receipt-actions>*{width:100%}}@media print{.topbar,.receipt-actions,.office-contact,.receipt-page>.text-button,footer{display:none!important}.booking-page{background:white}.receipt-page{padding:0;max-width:none}.receipt-card{border:1px solid #aaa;break-inside:avoid}.thanks{min-height:0}.thanks h1{font-size:38px}.receipt-disclaimer{border:1px solid #ccc;background:white}}
