/* Polish (branch polish): richer buttons and links, one step up for reading text. */
.intro-copy p,.split p,.sectionhead p,.pagehero p,.detail-grid p,.event-grid p,.form-note,details p,.facts p,.side-panel p,.hero-tail p{font-size:17px;line-height:1.7}
.space-card p,.cta p{font-size:16px;line-height:1.6}
.btn{background:linear-gradient(180deg,#dcc07f 0%,#c2a260 52%,#a9894b 100%);border:1px solid #e3c786;color:#15140f;letter-spacing:.04em;box-shadow:inset 0 1px 0 #fff3cf99,inset 0 -1px 0 #7a5f2c66,0 6px 18px #0000004d;transition:transform .25s ease,box-shadow .25s ease,filter .25s ease}
.btn:hover{background:linear-gradient(180deg,#e6cb8b 0%,#cdae6c 52%,#b39352 100%);transform:translateY(-1px);box-shadow:inset 0 1px 0 #fff3cfb3,inset 0 -1px 0 #7a5f2c66,0 10px 24px #0000005c,0 0 22px #c2a26059}
.btn:active{transform:none}
.btn.outline{background:none;border-color:#c2a260;box-shadow:none}
.btn.outline:hover{background:#c2a2601f;box-shadow:0 0 18px #c2a26033}
.textlink{border-bottom-color:transparent;background:linear-gradient(currentColor,currentColor) left bottom/100% 1px no-repeat;transition:background-size .35s ease}
.textlink:hover{background-size:0 1px;background-position:right bottom}
.occasion-links a{transition:color .25s ease,padding .25s ease}
.occasion-links a:hover{color:#79602d;padding-left:8px}
@media(max-width:700px){.intro-copy p,.split p,.sectionhead p,.pagehero p,.detail-grid p,.event-grid p,.form-note,details p,.facts p,.side-panel p,.hero-tail p{font-size:16px}}
@media(prefers-reduced-motion:reduce){.btn,.textlink,.occasion-links a{transition:none}.btn:hover{transform:none}}

/* Type and finish (Chris: "it looks SUPER PLAIN"). */
/* Accent lines: the upright headline face in gold (the Bodoni italic's hairline t and f broke at display size). */
h1 em,h2 em,h3 em{font-style:normal;font-family:inherit}
.lacquer h1 em,.lacquer h2 em,.section:not(.light) h2 em,.cta h2 em{color:#e3c786}
.light h1 em,.light h2 em,.intro h1 em{color:#79602d}
h2{font-size:clamp(40px,4.4vw,66px)}
.lead{font-size:clamp(18px,1.35vw,20px)!important;line-height:1.65!important;max-width:44ch}
.intro .lead,.light .lead{color:#4e4a42}
.sectionhead .lead,.cta .lead{color:#d2cdc2}
.hero-lines{font-size:17px;line-height:1.65;color:#d2cfc7}
.hero-lines em{font-style:normal;font-family:Bodoni,Georgia,serif;font-size:clamp(22px,2vw,28px);color:#f3d48d;display:inline-block;margin-bottom:4px}
.foot-tag em{font-style:normal;font-family:Bodoni,Georgia,serif;font-size:20px;color:#e3c786}
/* Eyebrows with fine gold rules. */
.intro .eyebrow,.sectionhead .eyebrow,.light .eyebrow,.cta .eyebrow{display:inline-flex;align-items:center;gap:14px}
.intro .eyebrow:before,.sectionhead .eyebrow:before,.light .eyebrow:before,.cta .eyebrow:before{content:'';width:34px;height:1px;background:currentColor;opacity:.7}
/* Photo frames: gold hairline mat and a slow zoom. */
.frame{box-shadow:0 18px 40px #0000004d}
.frame:after{content:'';position:absolute;inset:10px;border:1px solid #e3c78659;pointer-events:none;z-index:2}
.frame img{transition:transform 1.6s cubic-bezier(.2,.6,.2,1)}
a:hover .frame img,.media:hover .frame img{transform:scale(1.035)}
/* Withheld placeholders become lacquer cards with an italic note. */
.frame:has(img[src$="P005.jpg"],img[src$="P006.jpg"],img[src$="P026.jpg"],img[src$="P038.jpg"],img[src$="P043.jpg"],img[src$="P076.jpg"],img[src$="P090.jpg"]){background:radial-gradient(ellipse 80% 70% at 50% 40%,#1c1a16 0,#0b0b0a 70%)}
.frame:has(img[src$="P005.jpg"],img[src$="P006.jpg"],img[src$="P026.jpg"],img[src$="P038.jpg"],img[src$="P043.jpg"],img[src$="P076.jpg"],img[src$="P090.jpg"]) img{opacity:0}
.frame:has(img[src$="P005.jpg"],img[src$="P006.jpg"],img[src$="P026.jpg"],img[src$="P038.jpg"],img[src$="P043.jpg"],img[src$="P076.jpg"],img[src$="P090.jpg"]):before{content:'A photograph of this room is on its way.';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:12%;text-align:center;font-family:Bodoni,serif;font-size:clamp(18px,1.6vw,24px);letter-spacing:.01em;color:#d8ad60;z-index:1}
.media:has(img[src$="P005.jpg"],img[src$="P006.jpg"],img[src$="P026.jpg"],img[src$="P038.jpg"],img[src$="P043.jpg"],img[src$="P076.jpg"],img[src$="P090.jpg"]) figcaption{visibility:hidden}
/* Room cards: larger names, gold arrow that moves. */
.space-card h3{font-size:clamp(30px,2.6vw,40px)}
.space-card .row span{transition:transform .35s ease}
.space-card:hover .row span{transform:translate(4px,-4px)}
/* The piano-key divider gets its music-hall caption. */
.rhythm{position:relative}
@media(prefers-reduced-motion:reduce){.frame img{transition:none}}
h1,h2,h3{text-wrap:balance}
.foot-sign{display:block;margin-top:6px;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:#bba77a}
.visit-sign{display:block;margin-top:14px;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:#d6c5a3}

/* Header lockup: EVENT CENTER centred and tracked under the script, like the roadside sign. */
.smallmark{display:inline-flex;flex-direction:column;align-items:center}
.smallmark small{text-align:center;letter-spacing:.42em;margin-right:-.42em;font-size:9.5px;margin-top:2px}

/* Buttons, take 2 (Chris: still plain). */
.btn{position:relative;overflow:hidden;text-transform:uppercase;letter-spacing:.2em;font-size:12px!important;font-weight:600;padding:17px 26px 17px 30px;gap:22px;border-radius:1px;box-shadow:inset 0 0 0 1px #fff0bd80,inset 0 0 0 4px #c2a260,inset 0 0 0 5px #7a5f2c66,0 8px 22px #00000059}
.btn:hover{box-shadow:inset 0 0 0 1px #fff0bdb3,inset 0 0 0 4px #cdae6c,inset 0 0 0 5px #7a5f2c80,0 12px 28px #00000066,0 0 26px #c2a2604d}
.btn:before{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,#fff7df8c 50%,transparent 70%);transform:translateX(-130%);transition:transform 1s cubic-bezier(.2,.6,.2,1);pointer-events:none}
.btn:hover:before{transform:translateX(130%)}
.btn:after{content:'';width:28px;height:10px;flex:none;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 10'%3E%3Cpath d='M0 5h26M22 1l4 4-4 4' fill='none' stroke='%23000' stroke-width='1.2'/%3E%3C/svg%3E") right center/28px 10px no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 10'%3E%3Cpath d='M0 5h26M22 1l4 4-4 4' fill='none' stroke='%23000' stroke-width='1.2'/%3E%3C/svg%3E") right center/28px 10px no-repeat;transition:width .35s ease;line-height:normal}
.btn:hover:after{width:38px;-webkit-mask-size:38px 10px;mask-size:38px 10px}
.btn.outline{color:#e3c786;box-shadow:inset 0 0 0 1px #c2a260,inset 0 0 0 4px transparent,inset 0 0 0 5px #c2a26059}
.light .btn.outline{color:#5a4520}
.textlink{text-transform:uppercase;letter-spacing:.2em;font-size:12px!important;font-weight:600}
.navcta{text-transform:uppercase;letter-spacing:.18em;font-size:11px;font-weight:600;border-color:#c2a260!important;box-shadow:inset 0 0 0 3px #08090a,inset 0 0 0 4px #c2a26059;transition:background .3s ease,color .3s ease}
.navcta:hover{background:#c2a260;color:#15140f}
@media(prefers-reduced-motion:reduce){.btn:before{display:none}.btn:after{transition:none}}
@media(max-width:700px){.btn{letter-spacing:.12em;padding:15px 16px 15px 18px;gap:12px;white-space:nowrap}.btn:after{width:22px;-webkit-mask-size:22px 10px;mask-size:22px 10px}.textlink{letter-spacing:.12em;white-space:nowrap}.hero-tail .actions{flex-wrap:wrap;gap:18px 20px}}
@media(max-width:360px){.btn{letter-spacing:.08em;padding:14px 12px}.textlink{letter-spacing:.08em}}

/* Navigation (Chris: more pro and modern). */
header{position:sticky;top:0;transition:transform .45s cubic-bezier(.2,.6,.2,1),background .35s ease,box-shadow .35s ease}
header.scrolled{background:#0a0b0de0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 24px #0006}
header.scrolled .navwrap{padding-top:12px;padding-bottom:12px}
header.scrolled .header-logo{width:132px}
.navwrap,.header-logo{transition:padding .35s ease,width .35s ease}
header.hide{transform:translateY(-100%)}
nav a:not(.navcta){position:relative}
nav a:not(.navcta):after{content:'';position:absolute;left:6px;right:6px;bottom:6px;height:1px;background:#c2a260;transform:scaleX(0);transform-origin:left;transition:transform .35s ease}
nav a:not(.navcta):hover:after{transform:scaleX(1)}
@media(max-width:700px){
 .menu{position:relative;z-index:31;text-transform:uppercase;letter-spacing:.18em;font-size:11px;border-color:#c2a260}
 nav{position:fixed!important;inset:0;top:0!important;height:100dvh;z-index:30;background:radial-gradient(ellipse 90% 60% at 50% 40%,#16140f 0,#08090a 70%);padding:96px 9% 40px!important;justify-content:center;gap:6px!important}
 nav.open{display:flex}
 nav a{font-family:Bodoni,Georgia,serif;font-size:34px!important;color:#f3eee2;padding:10px 0!important;min-height:0!important;opacity:0;transform:translateY(10px);animation:navin .5s ease forwards}
 nav a:nth-child(2){animation-delay:.06s}nav a:nth-child(3){animation-delay:.12s}nav a:nth-child(4){animation-delay:.18s}nav a:nth-child(5){animation-delay:.24s}
 nav a.navcta{font-family:Archivo,sans-serif;font-size:12px!important;letter-spacing:.2em;margin-top:24px;text-align:center;padding:16px!important;color:#15140f;background:#c2a260}
 nav a[aria-current=page]{color:#e3c786;border-bottom:0}
 .mbar{position:fixed;left:0;right:0;bottom:0;z-index:25;display:grid;grid-template-columns:1fr 2fr;gap:1px;background:#c2a26066;border-top:1px solid #c2a26099;box-shadow:0 -8px 24px #0008;padding-bottom:env(safe-area-inset-bottom);transition:transform .4s ease}
 .mbar a{display:flex;align-items:center;justify-content:center;min-height:54px;text-transform:uppercase;letter-spacing:.18em;font-size:11px;font-weight:600}
 .mbar-call{background:#0a0b0d;color:#e3c786}
 .mbar-book{background:linear-gradient(180deg,#dcc07f,#c2a260 55%,#a9894b);color:#15140f}
 body.has-mbar{padding-bottom:54px}
}
@media(min-width:701px){.mbar{display:none}}
@keyframes navin{to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){header,.navwrap,.header-logo{transition:none}header.hide{transform:none}nav a{animation:none!important;opacity:1!important;transform:none!important}}
header:has(nav.open){-webkit-backdrop-filter:none;backdrop-filter:none;transform:none!important}
body:has(nav.open) .mbar{display:none}

/* Critique round (run-0012). */
/* Piano-key strip: full width and quieter, like a keyboard glimpsed in low light. */
.rhythm{padding-right:0;height:30px;gap:3px;opacity:.55}
.rhythm i{height:20px;background:linear-gradient(90deg,#c9c1b0,#ece5d6 40%,#f6f0e3 85%,#8e887d);box-shadow:0 4px 3px #000}
.rhythm i:nth-child(3n){height:11px}
/* Inner-page headers: a dark atmospheric bokeh backdrop instead of the flat sheen. */
.pagehero.lacquer{background:linear-gradient(90deg,#08090af2 0,#08090acc 45%,#08090a99 100%),url('./assets/hero/inner-bokeh.jpg') center/cover no-repeat,#08090a}
.pagehero.lacquer:before{opacity:.25}
/* Room grids: aligned cards, one aspect ratio. */
.space-card:nth-child(even){margin-top:0!important}
.space-list .frame{aspect-ratio:3/2}
/* Rooms without a cleared photo: a short band, not a big black box. */
.lead-media .frame:has(img[src$="P005.jpg"],img[src$="P076.jpg"],img[src$="P090.jpg"]){aspect-ratio:4/1}
/* Form fields: warm cream, gold focus, custom chevrons. */
.form-layout input:not([type=checkbox]),.form-layout select,.form-layout textarea{background:#f7f2e7;border:1px solid #cbbd9f;border-radius:2px;color:#25251f;transition:border-color .2s ease,box-shadow .2s ease}
.form-layout input:focus,.form-layout select:focus,.form-layout textarea:focus{border-color:#79602d;box-shadow:0 0 0 3px #c2a26040;outline:none}
.form-layout select{appearance:none;-webkit-appearance:none;padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%2379602d' stroke-width='1.4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:12px 8px}
.form-layout input[type=date]::-webkit-calendar-picker-indicator{filter:sepia(1) saturate(3) hue-rotate(5deg) brightness(.6)}
.form-layout textarea{resize:vertical;min-height:120px}
.form-layout .field{font-size:13px;letter-spacing:.04em;color:#5a5244}
/* FAQ: gold plus and minus. */
details summary{list-style:none;justify-content:space-between;gap:20px;font-family:Bodoni,Georgia,serif;font-size:21px}
details summary::-webkit-details-marker{display:none}
details summary:after{content:'+';font-family:Archivo,sans-serif;font-size:22px;color:#79602d;transition:transform .3s ease}
details[open] summary:after{content:'−'}
details p{font-size:16px;max-width:60ch}
/* Visit: the email never splits. */
.facts a[href^="mailto:"]{white-space:nowrap}
.facts{grid-template-columns:auto auto 1fr}
.directions{display:inline-block;margin-top:18px}
/* Thanks: breathing room above the buttons. */
#summary{margin-bottom:28px}
@media(max-width:700px){.facts{grid-template-columns:1fr}.facts a[href^="mailto:"]{white-space:normal;overflow-wrap:anywhere}
 .mbar{transform:translateY(110%)} body.mbar-on .mbar{transform:none}}

/* Second critique round (run-0013). */
.goldrule{height:1px;background:linear-gradient(90deg,transparent,#c2a26099 15%,#c2a26099 85%,transparent);margin:0 7%}
.light .frame,.intro .frame{box-shadow:none;border:1px solid #c9bb9b}
.side-panel{position:sticky;top:110px;align-self:start}
.photo-note{display:block;margin-top:14px;font-size:13px;letter-spacing:.08em;color:#bba77a}
.form-layout input:not([type=checkbox]),.form-layout select,.form-layout textarea{border-color:#9e927e}
.proto-gallery[hidden]{display:none!important}

/* room capacity / role tag under a space card title */
.space-card .cap{margin:.15rem 0 .35rem;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.also .space-list{margin-top:1.5rem}

/* room spec block (capacity, uses, features) and the included grid */
.room-spec{margin-top:34px;padding-top:26px;border-top:1px solid #bbae96}
.room-spec .cap{margin:0 0 10px;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:#79602d}
.room-spec .used{margin-top:0;font-size:14px}
.room-spec .feat{margin:16px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:10px 28px;font-size:14px;color:#4f4a40}
.room-spec .feat li{padding-left:18px;position:relative}
.room-spec .feat li:before{content:'';position:absolute;left:0;top:.7em;width:8px;height:1px;background:var(--gold)}
.ready-pair{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.ready-pair .room-spec .feat{grid-template-columns:1fr}
.ready-pair h3{margin-bottom:10px}
.included{margin-top:40px;display:grid;grid-template-columns:repeat(3,1fr);gap:34px 40px}
.included>div{border-top:1px solid #bbae96;padding-top:20px}
.included h3{font-size:24px;margin-bottom:10px}
.included p{font-size:14px;color:#615c53}
.included .textlink{margin-top:10px}
@media(max-width:700px){.room-spec .feat,.ready-pair,.included{grid-template-columns:1fr}}

/* Owner feedback 2026-10-27: line arrows in gold (iPhone drew the arrow character as a blue emoji). */
.arw{display:inline-block;width:.62em;height:.62em;margin-left:.35em;vertical-align:.02em;color:var(--gold);overflow:visible}
.light .arw{color:#8a6d33}
.space-card .row span .arw,.occasion-links span .arw{width:18px;height:18px;margin:0}
/* iPhone menu: links never depend on the animation to become visible; no header blur on phones; page locked while open. */
@media(max-width:700px){
 header.scrolled{-webkit-backdrop-filter:none;backdrop-filter:none;background:#0a0b0d}
 nav a{opacity:1;animation:navin2 .45s ease both}
 nav.open{-webkit-transform:translateZ(0);transform:translateZ(0)}
 body:has(nav.open){overflow:hidden}
}
@keyframes navin2{from{transform:translateY(10px)}to{transform:none}}

/* Footer address map card (Chris 2026-10-27). */
.maptip{position:relative;display:inline-block}
.maptip-addr{display:inline-flex!important;align-items:flex-start;gap:10px;padding:4px 0!important;line-height:1.6}
.maptip-pin{width:12px;height:16px;flex:none;margin-top:4px;color:var(--gold)}
.maptip-addr:hover{color:#e3c786}
.maptip-card{position:absolute;left:-12px;bottom:calc(100% + 14px);width:320px;background:#0d0e10;border:1px solid #c2a26099;box-shadow:0 18px 40px #000c,0 0 0 4px #0d0e10,0 0 0 5px #c2a26033;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .25s ease,transform .25s ease,visibility .25s;z-index:40}
.maptip-card:after{content:'';position:absolute;left:28px;top:100%;border:8px solid transparent;border-top-color:#c2a26099}
.maptip:hover .maptip-card,.maptip:focus-within .maptip-card{opacity:1;visibility:visible;transform:none}
.maptip-map{height:170px;background:#16171a;border-bottom:1px solid #c2a26055}
.maptip-map iframe{width:100%;height:100%;border:0;display:block;filter:grayscale(.35) contrast(1.05)}
.maptip-body{padding:16px 18px 18px;display:grid;gap:4px;font-size:12px;color:#c4c0b7}
.maptip-body b{font-family:Bodoni,Georgia,serif;font-weight:400;font-size:20px;color:#f3eee2}
.maptip-note{color:#8f8a80;font-size:11px}
.maptip-go{margin-top:8px;display:inline-flex!important;align-items:center;color:#e3c786;text-transform:uppercase;letter-spacing:.16em;font-size:10px;font-weight:600}

.ready-one{max-width:560px}
.maptip-card:before{content:'';position:absolute;left:0;right:0;top:100%;height:18px}

/* Phone map sheet (Chris 2026-10-27). */
.maptip-x,.maptip-shade{display:none}
@media(max-width:700px),(hover:none){
 .maptip:hover .maptip-card,.maptip:focus-within .maptip-card{opacity:0;visibility:hidden}
 .maptip-card{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));width:auto;transform:translateY(24px);z-index:60}
 .maptip-card:after,.maptip-card:before{display:none}
 .maptip.open .maptip-card{opacity:1;visibility:visible;transform:none}
 .maptip-map{height:210px}
 .maptip-body{padding:18px 20px 20px}
 .maptip-go{min-height:44px}
 .maptip-x{display:flex;position:absolute;top:10px;right:10px;z-index:2;width:40px;height:40px;align-items:center;justify-content:center;background:#0d0e10e6;border:1px solid #c2a26099;color:#e3c786;cursor:pointer}
 .maptip-x svg{width:12px;height:12px}
 .maptip-shade{position:fixed;inset:0;z-index:59;background:#000a;opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s}
 body.maptip-on .maptip-shade{display:block;opacity:1;visibility:visible}
 body.maptip-on .mbar{display:none}
}

.room-photos .room-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:10px}
.room-photos .room-grid .media:first-child{grid-column:span 2;grid-row:span 2}
.room-photos .room-grid .frame{height:100%}
@media(max-width:700px){.room-photos .room-grid{grid-template-columns:1fr}.room-photos .room-grid .media:first-child{grid-column:auto;grid-row:auto}}

.room-spec .feat a.textlink-inline{border-bottom:1px solid currentColor}
