:root{--green:        #234034;--green-deep:   #182d24;--green-soft:   #2f5142;--gold:         #b08d49;--gold-bright:  #c9a85f;--gold-deep:    #8a6c34;--claret:       #6e1a2b;--cream:        #f1ecde;--paper:        #f6f1e6;--ink:          #211a17;--bg:           #f3eee1;--bg-sunken:    #e9e1cd;--surface:      #faf6ec;--surface-2:    #f1e9d7;--ink:          #211a17;--ink-soft:     #5a4f42;--ink-faint:    #857a66;--line:         #ddd0b4;--line-strong:  #c9b88f;--accent:       #234034;--accent-hover: #8a6c34;--on-accent:    #f6f1e6;--gilt:         #b08d49;--gilt-soft:    rgba(176, 141, 73, 0.4);--font-display: "Fraunces", "Hoefler Text", Georgia, "Times New Roman", serif;--font-body:    "EB Garamond", "Hoefler Text", Georgia, "Times New Roman", serif;--font-ui:      "EB Garamond", Georgia, serif;--font-sans:    system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--step--1: clamp(0.95rem, 0.90rem + 0.22vw, 1.05rem);--step-0:  clamp(1.12rem, 1.04rem + 0.34vw, 1.30rem);--step-1:  clamp(1.32rem, 1.18rem + 0.60vw, 1.70rem);--step-2:  clamp(1.70rem, 1.44rem + 1.10vw, 2.50rem);--step-3:  clamp(2.20rem, 1.72rem + 2.20vw, 3.70rem);--step-4:  clamp(2.80rem, 2.00rem + 3.90vw, 5.40rem);--space-3xs: 0.25rem;--space-2xs: 0.5rem;--space-xs:  0.75rem;--space-s:   1rem;--space-m:   1.5rem;--space-l:   2.5rem;--space-xl:  4rem;--space-2xl: 6rem;--radius:    3px;--radius-sm: 2px;--radius-lg: 4px;--measure:   72ch;--wrap:      1180px;--wrap-wide: 1480px;--wrap-narrow: 860px;--shadow:    0 1px 2px rgba(24, 45, 36, 0.06),
               0 10px 30px rgba(24, 45, 36, 0.10);--shadow-lg: 0 18px 60px rgba(24, 45, 36, 0.20);--ease:      cubic-bezier(0.22, 0.61, 0.36, 1);--t-fast:    160ms;--t:         300ms}[data-scheme="dark"]{--bg:           #15201a;--bg-sunken:    #0f1813;--surface:      #1c2a22;--surface-2:    #24342a;--ink:          #efe7d3;--ink-soft:     #cabfa6;--ink-faint:    #8f8773;--line:         #38473b;--line-strong:  #4a5b4c;--accent:       #cba35e;--accent-hover: #e0bd78;--on-accent:    #15201a;--gilt:         #c9a85f;--gilt-soft:    rgba(201, 168, 95, 0.45);--shadow:       0 1px 2px rgba(0, 0, 0, 0.4),
                  0 12px 34px rgba(0, 0, 0, 0.5);--shadow-lg:    0 20px 64px rgba(0, 0, 0, 0.65)}@media (prefers-color-scheme: dark){:root:not([data-scheme="light"]){--bg:           #15201a;--bg-sunken:    #0f1813;--surface:      #1c2a22;--surface-2:    #24342a;--ink:          #efe7d3;--ink-soft:     #cabfa6;--ink-faint:    #8f8773;--line:         #38473b;--line-strong:  #4a5b4c;--accent:       #cba35e;--accent-hover: #e0bd78;--on-accent:    #15201a;--gilt:         #c9a85f;--gilt-soft:    rgba(201, 168, 95, 0.45);--shadow:       0 1px 2px rgba(0, 0, 0, 0.4),
                    0 12px 34px rgba(0, 0, 0, 0.5);--shadow-lg:    0 20px 64px rgba(0, 0, 0, 0.65)}}@font-face{font-family:'EB Garamond';font-style:italic;font-weight:400;font-display:swap;src:url("/fonts/eb-garamond-400-italic-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}@font-face{font-family:'EB Garamond';font-style:italic;font-weight:400;font-display:swap;src:url("/fonts/eb-garamond-400-italic-latin.woff2") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}@font-face{font-family:'EB Garamond';font-style:normal;font-weight:400;font-display:swap;src:url("/fonts/eb-garamond-400-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}@font-face{font-family:'EB Garamond';font-style:normal;font-weight:400;font-display:swap;src:url("/fonts/eb-garamond-400-latin.woff2") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}@font-face{font-family:'EB Garamond';font-style:normal;font-weight:500;font-display:swap;src:url("/fonts/eb-garamond-500-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}@font-face{font-family:'EB Garamond';font-style:normal;font-weight:500;font-display:swap;src:url("/fonts/eb-garamond-500-latin.woff2") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}@font-face{font-family:'EB Garamond';font-style:normal;font-weight:600;font-display:swap;src:url("/fonts/eb-garamond-600-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}@font-face{font-family:'EB Garamond';font-style:normal;font-weight:600;font-display:swap;src:url("/fonts/eb-garamond-600-latin.woff2") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}@font-face{font-family:'Fraunces';font-style:italic;font-weight:400;font-display:swap;src:url("/fonts/fraunces-400-italic-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}@font-face{font-family:'Fraunces';font-style:italic;font-weight:400;font-display:swap;src:url("/fonts/fraunces-400-italic-latin.woff2") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}@font-face{font-family:'Fraunces';font-style:italic;font-weight:500;font-display:swap;src:url("/fonts/fraunces-500-italic-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}@font-face{font-family:'Fraunces';font-style:italic;font-weight:500;font-display:swap;src:url("/fonts/fraunces-500-italic-latin.woff2") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}@font-face{font-family:'Fraunces';font-style:normal;font-weight:400;font-display:swap;src:url("/fonts/fraunces-400-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}@font-face{font-family:'Fraunces';font-style:normal;font-weight:400;font-display:swap;src:url("/fonts/fraunces-400-latin.woff2") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}@font-face{font-family:'Fraunces';font-style:normal;font-weight:500;font-display:swap;src:url("/fonts/fraunces-500-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}@font-face{font-family:'Fraunces';font-style:normal;font-weight:500;font-display:swap;src:url("/fonts/fraunces-500-latin.woff2") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}@font-face{font-family:'Fraunces';font-style:normal;font-weight:600;font-display:swap;src:url("/fonts/fraunces-600-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}@font-face{font-family:'Fraunces';font-style:normal;font-weight:600;font-display:swap;src:url("/fonts/fraunces-600-latin.woff2") format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:0.001ms !important;transition-duration:0.001ms !important}}body{margin:0;background-color:var(--bg);background-image:radial-gradient(120% 80% at 50% -10%, rgba(176,141,73,0.06), transparent 60%);background-attachment:fixed;color:var(--ink);font-family:var(--font-body);font-size:var(--step-0);line-height:1.7;font-feature-settings:"kern", "liga", "onum", "pnum";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-wrap:break-word}h1,h2,h3,h4{font-family:var(--font-display);font-weight:500;line-height:1.12;color:var(--ink);margin:0 0 var(--space-s);letter-spacing:-0.005em;font-optical-sizing:auto}h1{font-size:var(--step-3);font-weight:400}h2{font-size:var(--step-2)}h3{font-size:var(--step-1)}h4{font-size:var(--step-0);letter-spacing:0.02em}p{margin:0 0 var(--space-m)}a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:3px;transition:color var(--t-fast) var(--ease)}a:hover{color:var(--accent-hover)}strong{font-weight:600}em{font-style:italic}ul,ol{margin:0 0 var(--space-m);padding-left:1.3em}li{margin:0.3em 0}blockquote{margin:var(--space-l) 0;padding:var(--space-2xs) 0 var(--space-2xs) var(--space-m);border-left:2px solid var(--gilt);font-style:italic;font-size:var(--step-1);color:var(--ink-soft)}hr{border:0;height:1px;background:var(--line);margin:var(--space-xl) 0}img{max-width:100%;height:auto;display:block}.icon{width:1em;height:1em;flex:none;vertical-align:-0.125em}::selection{background:var(--gilt-soft);color:var(--ink)}:focus-visible{outline:2px solid var(--gilt);outline-offset:3px;border-radius:var(--radius-sm)}.skip-link{position:absolute;left:-9999px;top:0;background:var(--green);color:var(--on-accent);padding:var(--space-2xs) var(--space-s);z-index:1000}.skip-link:focus{left:var(--space-s);top:var(--space-s)}.prose{max-width:var(--measure);font-size:var(--step-0)}.prose h2{margin-top:var(--space-xl)}.prose h3{margin-top:var(--space-l)}.prose>p:first-of-type{color:var(--ink)}.prose a{text-decoration:underline;text-decoration-color:var(--gilt)}.prose.prose--lead>p:first-of-type::first-letter{font-family:var(--font-display);font-weight:500;float:left;font-size:3.6em;line-height:0.78;padding:0.06em 0.12em 0 0;color:var(--green)}[data-scheme="dark"] .prose--lead>p:first-of-type::first-letter{color:var(--gold)}.fleuron{display:flex;align-items:center;gap:var(--space-s);margin:var(--space-l) auto;color:var(--gilt);max-width:22rem}.fleuron::before,.fleuron::after{content:"";flex:1;height:1px;background:linear-gradient(to var(--dir, right), transparent, var(--gilt))}.fleuron::before{--dir: left}.fleuron span{font-size:1.1rem;line-height:1}.visually-hidden{position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--space-m)}.wrap--wide{max-width:var(--wrap-wide)}.wrap--narrow{max-width:var(--wrap-narrow)}main{display:block}.section{padding-block:var(--space-2xl)}.section--tight{padding-block:var(--space-xl)}.section--sunken{background:var(--bg-sunken)}.section--green{background:var(--green);color:var(--cream)}.section--green h1,.section--green h2,.section--green h3,.section--green h4{color:var(--cream)}.section--green a{color:var(--gold-bright)}.site-header{position:sticky;top:0;z-index:100;background:color-mix(in srgb, var(--bg) 88%, transparent);backdrop-filter:saturate(120%) blur(8px);border-bottom:1px solid transparent;transition:border-color var(--t) var(--ease),background var(--t) var(--ease)}.site-header.is-scrolled{border-bottom-color:var(--line);box-shadow:0 1px 0 var(--gilt-soft)}.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-m);min-height:76px}.brand{display:inline-flex;flex-direction:column;line-height:1;text-decoration:none;color:var(--ink)}.brand:hover{color:var(--ink)}.brand__name{font-family:var(--font-display);font-size:1.6rem;font-weight:500;letter-spacing:0.01em}.brand__sub{font-family:var(--font-ui);font-size:0.72rem;letter-spacing:0.28em;text-transform:uppercase;color:var(--gold-deep);margin-top:0.35em}[data-scheme="dark"] .brand__sub{color:var(--gold)}@media (max-width: 560px){.brand__sub{display:none}}@media (max-width: 380px){.brand__name{font-size:1.38rem}}.nav{display:flex;align-items:center;gap:var(--space-m)}.nav__list{display:flex;align-items:center;gap:var(--space-m);list-style:none;margin:0;padding:0}.nav__link{font-family:var(--font-ui);font-size:0.95rem;letter-spacing:0.06em;text-transform:uppercase;text-decoration:none;color:var(--ink-soft);padding:0.4em 0;position:relative;white-space:nowrap}.nav__link::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:var(--gilt);transform:scaleX(0);transform-origin:left;transition:transform var(--t) var(--ease)}.nav__link:hover,.nav__link[aria-current="page"]{color:var(--ink)}.nav__link:hover::after,.nav__link[aria-current="page"]::after{transform:scaleX(1)}.nav__tools{display:flex;align-items:center;gap:var(--space-2xs)}.nav__book{padding:0.6em 1.1em;font-size:0.85rem}.nav__book .icon{width:16px;height:16px}@media (max-width: 420px){.nav__book-text{display:none}.nav__book{padding:0.6em}}.icon-btn{display:inline-grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);background:transparent;color:var(--ink-soft);border-radius:var(--radius-sm);cursor:pointer;transition:color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease)}.icon-btn:hover{color:var(--gold-deep);border-color:var(--line-strong)}.icon-btn .icon{width:20px;height:20px}.scheme-toggle__sun{display:none}[data-scheme="dark"] .scheme-toggle__moon{display:none}[data-scheme="dark"] .scheme-toggle__sun{display:inline}.nav-toggle{display:none}@media (max-width: 880px){.nav__list{position:fixed;inset:76px 0 auto 0;flex-direction:column;align-items:flex-start;gap:0;background:var(--surface);border-bottom:1px solid var(--line);box-shadow:var(--shadow-lg);padding:var(--space-s) var(--space-m) var(--space-m);transform:translateY(-12px);opacity:0;pointer-events:none;transition:opacity var(--t) var(--ease), transform var(--t) var(--ease)}.nav__list.is-open{transform:none;opacity:1;pointer-events:auto}.nav__list li{width:100%;border-bottom:1px solid var(--line)}.nav__list li:last-child{border-bottom:0}.nav__link{display:block;width:100%;padding:var(--space-s) 0;font-size:1.05rem}.nav-toggle{display:inline-grid}}.site-footer{background:var(--green-deep);color:var(--cream);padding-block:var(--space-2xl) var(--space-l);margin-top:var(--space-2xl);border-top:3px solid var(--gold)}.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:var(--space-xl)}@media (max-width: 760px){.footer-grid{grid-template-columns:1fr;gap:var(--space-l)}}.footer-brand__name{font-family:var(--font-display);font-size:1.7rem}.footer-brand__sub{font-family:var(--font-ui);letter-spacing:0.26em;text-transform:uppercase;font-size:0.72rem;color:var(--gold-bright);margin-top:0.4em}.footer-brand__tag{color:rgba(241,236,222,0.72);max-width:34ch;margin-top:var(--space-s)}.footer-col h3{font-family:var(--font-ui);text-transform:uppercase;letter-spacing:0.16em;font-size:0.8rem;color:var(--gold-bright);margin-bottom:var(--space-s)}.footer-col ul{list-style:none;margin:0;padding:0}.footer-col li{margin:0.5em 0}.footer-col a,.footer-brand a{color:var(--cream);text-decoration:none}.footer-col a:hover{color:var(--gold-bright)}.footer-contact{font-style:normal;line-height:1.8;color:rgba(241,236,222,0.85)}.footer-contact strong{color:var(--gold-bright);font-weight:600}.social-row{display:flex;gap:var(--space-xs)}.social-row a{display:inline-grid;place-items:center;width:40px;height:40px;border:1px solid rgba(176,141,73,0.45);border-radius:var(--radius-sm);color:var(--cream)}.social-row a .icon{width:20px;height:20px}.social-row a:hover{color:var(--green-deep);background:var(--gold-bright);border-color:var(--gold-bright)}.footer-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--space-s);margin-top:var(--space-xl);padding-top:var(--space-m);border-top:1px solid rgba(176,141,73,0.25);font-size:0.85rem;color:rgba(241,236,222,0.6)}.hero{position:relative;min-height:clamp(440px, 78vh, 760px);display:grid;align-items:end;color:var(--cream);overflow:hidden;isolation:isolate}.hero__media{position:absolute;inset:0;z-index:-2}.hero__media img{width:100%;height:100%;object-fit:cover}.hero__scrim{position:absolute;inset:0;z-index:-1;background:linear-gradient(to top, rgba(15,24,19,0.82) 0%, rgba(15,24,19,0.35) 42%, rgba(15,24,19,0.2) 100%)}.hero__inner{padding-block:var(--space-2xl) var(--space-xl)}.hero__kicker{font-family:var(--font-ui);text-transform:uppercase;letter-spacing:0.28em;font-size:0.82rem;color:var(--gold-bright);margin-bottom:var(--space-s)}.hero__title{font-family:var(--font-display);font-weight:400;font-size:var(--step-4);line-height:1.02;color:var(--cream);max-width:16ch;margin:0}.hero__lede{font-size:var(--step-1);max-width:46ch;margin-top:var(--space-m);color:rgba(241,236,222,0.92)}.hero__actions{margin-top:var(--space-l);display:flex;flex-wrap:wrap;gap:var(--space-s)}.page-hero{position:relative;min-height:clamp(300px, 46vh, 460px);display:grid;align-items:end;color:var(--cream);overflow:hidden;isolation:isolate}.page-hero .page-hero__media{position:absolute;inset:0;z-index:-2}.page-hero .page-hero__media img{width:100%;height:100%;object-fit:cover}.page-hero .page-hero__scrim{position:absolute;inset:0;z-index:-1;background:linear-gradient(to top, rgba(15,24,19,0.85), rgba(15,24,19,0.25))}.page-hero .page-hero__inner{padding-block:var(--space-xl)}.page-hero__kicker{font-family:var(--font-ui);text-transform:uppercase;letter-spacing:0.26em;font-size:0.78rem;color:var(--gold-bright);margin-bottom:var(--space-xs)}.page-hero__title{font-family:var(--font-display);font-weight:400;font-size:var(--step-3);color:var(--cream);margin:0;max-width:20ch}.page-hero--plain{min-height:clamp(220px, 32vh, 320px);background:var(--green);background-image:radial-gradient(120% 120% at 80% -20%, rgba(176,141,73,0.22), transparent 55%);border-bottom:3px solid var(--gold)}.btn{display:inline-flex;align-items:center;gap:0.6em;font-family:var(--font-ui);font-size:0.95rem;letter-spacing:0.08em;text-transform:uppercase;text-decoration:none;padding:0.85em 1.6em;border:1px solid var(--green);background:var(--green);color:var(--on-accent);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease)}.btn .icon{width:18px;height:18px}.btn:hover{background:var(--green-deep);color:var(--cream);border-color:var(--green-deep)}.btn--gold{background:var(--gold);border-color:var(--gold);color:var(--green-deep)}.btn--gold:hover{background:var(--gold-bright);border-color:var(--gold-bright);color:var(--green-deep)}.btn--ghost{background:transparent;color:var(--ink);border-color:var(--line-strong)}.btn--ghost:hover{background:transparent;color:var(--gold-deep);border-color:var(--gold)}.btn--on-dark{background:transparent;color:var(--cream);border-color:rgba(241,236,222,0.5)}.btn--on-dark:hover{background:var(--gold);color:var(--green-deep);border-color:var(--gold)}.btn--lg{font-size:1rem;padding:1em 2em}.section-head{max-width:56ch;margin-bottom:var(--space-xl)}.section-head--centre{margin-inline:auto;text-align:center}.kicker{font-family:var(--font-ui);text-transform:uppercase;letter-spacing:0.24em;font-size:0.8rem;color:var(--gold-deep);margin-bottom:var(--space-s);display:block}[data-scheme="dark"] .kicker{color:var(--gold)}.section--green .kicker{color:var(--gold-bright)}.section-title{font-size:var(--step-2);margin:0}.section-intro{font-size:var(--step-1);color:var(--ink-soft);margin-top:var(--space-s)}.section--green .section-intro{color:rgba(241,236,222,0.82)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1.5rem, 4vw, 3rem);box-shadow:var(--shadow)}.panel--gilt{border-color:var(--gilt);box-shadow:0 0 0 1px var(--gilt-soft),var(--shadow)}.card-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(300px, 1fr));gap:var(--space-l)}.card-grid--two{grid-template-columns:repeat(auto-fill, minmax(420px, 1fr))}.room-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;text-decoration:none;color:var(--ink);box-shadow:var(--shadow);transition:transform var(--t) var(--ease),box-shadow var(--t) var(--ease),border-color var(--t) var(--ease)}.room-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--gilt);color:var(--ink)}.room-card:hover .room-card__title{color:var(--gold-deep)}.room-card__media{aspect-ratio:4 / 3;overflow:hidden;background:var(--surface-2)}.room-card__media img{width:100%;height:100%;object-fit:cover;transition:transform 600ms var(--ease)}.room-card:hover .room-card__media img{transform:scale(1.04)}.room-card__body{padding:var(--space-m);display:flex;flex-direction:column;gap:var(--space-2xs);flex:1}.room-card__title{font-family:var(--font-display);font-size:var(--step-1);margin:0;transition:color var(--t-fast) var(--ease)}.room-card__meta{font-family:var(--font-ui);font-size:0.82rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--gold-deep)}.room-card__summary{color:var(--ink-soft);margin:0}.room-card__cta{margin-top:auto;font-family:var(--font-ui);font-size:0.85rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--accent);display:inline-flex;align-items:center;gap:0.4em}.room-card.is-stub{opacity:0.96}.room-card__placeholder{aspect-ratio:4 / 3;display:grid;place-items:center;background:repeating-linear-gradient(45deg, var(--surface-2), var(--surface-2) 12px, var(--surface) 12px, var(--surface) 24px);color:var(--ink-faint);font-family:var(--font-ui);letter-spacing:0.1em;text-transform:uppercase;font-size:0.8rem;text-align:center;padding:var(--space-m)}.rate-panel{background:var(--surface);border:1px solid var(--gilt);border-radius:var(--radius);box-shadow:var(--shadow);padding:clamp(1.1rem, 3vw, 1.6rem);margin:0 0 var(--space-xl)}.feature__body .rate-panel{margin:var(--space-l) 0 0;box-shadow:none}.rate-panel__head{border-bottom:1px solid var(--line);padding-bottom:var(--space-s);margin-bottom:var(--space-s)}.rate-panel__head .kicker{margin-bottom:var(--space-2xs)}.rate-panel__head p{margin:0;color:var(--ink-soft)}.rate-grid{display:grid;grid-template-columns:1fr;gap:0;margin:0}.rate-grid div{display:grid;grid-template-columns:minmax(9rem, 0.8fr) minmax(0, 1fr);gap:var(--space-s);align-items:baseline;padding:var(--space-s) 0;border-bottom:1px solid var(--line)}.rate-grid div:last-child{border-bottom:0}@media (max-width: 520px){.rate-grid div{grid-template-columns:1fr;gap:0.2rem}}.rate-grid dt{font-family:var(--font-ui);text-transform:uppercase;letter-spacing:0.1em;font-size:0.76rem;color:var(--ink-faint);margin:0}.rate-grid dd{margin:0;font-family:var(--font-display);font-size:var(--step-1);color:var(--ink);text-align:right}.rate-grid dd span{display:inline;font-family:var(--font-sans);font-size:0.92rem;color:var(--ink-soft);margin-left:0.35rem}@media (max-width: 520px){.rate-grid dd{text-align:left}}.rate-panel__note{margin:var(--space-s) 0 0;color:var(--ink-soft)}.feature{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem, 5vw, 4rem);align-items:center}.feature+.feature{margin-top:var(--space-2xl)}@media (max-width: 820px){.feature{grid-template-columns:1fr;gap:var(--space-l)}}.feature--flip .feature__media{order:2}@media (max-width: 820px){.feature--flip .feature__media{order:0}}.feature__media img{width:100%;border-radius:var(--radius);box-shadow:var(--shadow)}.feature__body h2{font-size:var(--step-2)}.feature__body p{color:var(--ink-soft)}.facts{list-style:none;margin:var(--space-m) 0;padding:0;display:grid;gap:0.2em}.facts li{display:flex;gap:0.7em;align-items:baseline;padding:0.55em 0;border-bottom:1px solid var(--line)}.facts li:last-child{border-bottom:0}.facts .icon{width:18px;height:18px;color:var(--gold-deep);flex:none;transform:translateY(3px)}.facts__label{font-family:var(--font-ui);text-transform:uppercase;letter-spacing:0.1em;font-size:0.78rem;color:var(--ink-faint);min-width:8.5em}.facts__value{color:var(--ink)}.taglist{display:flex;flex-wrap:wrap;gap:var(--space-2xs);list-style:none;margin:var(--space-s) 0;padding:0}.taglist li{font-family:var(--font-ui);font-size:0.82rem;letter-spacing:0.04em;padding:0.35em 0.85em;border:1px solid var(--line-strong);border-radius:100px;color:var(--ink-soft)}.cta{background:var(--green);color:var(--cream);text-align:center;border-block:3px solid var(--gold)}.cta__inner{padding-block:var(--space-2xl);max-width:60ch;margin-inline:auto}.cta__title{font-family:var(--font-display);font-size:var(--step-2);color:var(--cream);margin:0 0 var(--space-s)}.cta__lede{color:rgba(241,236,222,0.85);font-size:var(--step-1);margin-bottom:var(--space-l)}.cta__phone{display:inline-block;font-family:var(--font-display);font-size:clamp(1.8rem, calc(1rem + 3vw), 3rem);color:var(--gold-bright);text-decoration:none;letter-spacing:0.01em}.cta__phone:hover{color:var(--cream)}.cta__actions{margin-top:var(--space-l);display:flex;flex-wrap:wrap;gap:var(--space-s);justify-content:center}.cta__note{margin-top:var(--space-m);font-size:0.95rem;color:rgba(241,236,222,0.7)}.host{display:grid;grid-template-columns:0.7fr 1fr;gap:clamp(1.5rem, 5vw, 3.5rem);align-items:center}@media (max-width: 760px){.host{grid-template-columns:1fr}}.host__portrait{position:relative;border-radius:var(--radius);overflow:hidden;border:1px solid var(--gilt);box-shadow:var(--shadow);aspect-ratio:4 / 5}.host__portrait img{width:100%;height:100%;object-fit:cover}.host__placeholder{width:100%;height:100%;display:grid;place-items:center;gap:var(--space-s);background:var(--surface-2);color:var(--ink-faint);text-align:center;padding:var(--space-l)}.host__placeholder .icon{width:56px;height:56px;color:var(--gilt)}.host__placeholder span{font-family:var(--font-ui);letter-spacing:0.08em;text-transform:uppercase;font-size:0.78rem}.host__name{font-family:var(--font-display);font-size:var(--step-2);margin:0}.host__role{font-family:var(--font-ui);text-transform:uppercase;letter-spacing:0.16em;font-size:0.8rem;color:var(--gold-deep);margin:0.4em 0 var(--space-m)}.note-todo{font-family:var(--font-sans);font-size:0.78rem;color:var(--ink-faint);border:1px dashed var(--line-strong);border-radius:var(--radius-sm);padding:0.4em 0.7em;margin-top:var(--space-s);display:inline-block}.intro{text-align:center;max-width:62ch;margin-inline:auto}.intro__lede{font-size:var(--step-1);color:var(--ink-soft)}[data-reveal]{opacity:0;transform:translateY(18px);transition:opacity 700ms var(--ease),transform 700ms var(--ease)}[data-reveal].is-revealed{opacity:1;transform:none}@media (prefers-reduced-motion: reduce){[data-reveal]{opacity:1;transform:none}}.gallery{display:grid;grid-template-columns:repeat(auto-fill, minmax(240px, 1fr));gap:var(--space-s)}.gallery--rooms{grid-template-columns:repeat(auto-fill, minmax(280px, 1fr))}.gallery__item{position:relative;display:block;overflow:hidden;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface-2);aspect-ratio:3 / 2}.gallery__item img{width:100%;height:100%;object-fit:cover;transition:transform 600ms var(--ease)}.gallery__item:hover img{transform:scale(1.05)}.gallery__item::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 0 var(--gilt);transition:box-shadow var(--t) var(--ease)}.gallery__item:hover::after{box-shadow:inset 0 0 0 2px var(--gilt)}.gallery__caption{position:absolute;left:0;right:0;bottom:0;padding:var(--space-s) var(--space-s) var(--space-xs);background:linear-gradient(to top, rgba(15,24,19,0.78), transparent);color:var(--cream);font-family:var(--font-ui);font-size:0.82rem;letter-spacing:0.04em;opacity:0;transform:translateY(6px);transition:opacity var(--t) var(--ease),transform var(--t) var(--ease)}.gallery__item:hover .gallery__caption{opacity:1;transform:none}@media (min-width: 720px){.gallery--feature .gallery__item:first-child{grid-column:span 2;aspect-ratio:16 / 9}}.pswp__custom-caption{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);background:rgba(15,24,19,0.8);color:#f1ecde;font-family:var(--font-ui);font-size:0.95rem;letter-spacing:0.03em;padding:0.5em 1em;border-radius:var(--radius-sm);border:1px solid rgba(176,141,73,0.5);max-width:80vw;text-align:center}.map{height:clamp(360px, 50vh, 560px);width:100%;border:1px solid var(--line-strong);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);z-index:0}.leaflet-container{font-family:var(--font-ui);background:var(--surface-2)}.map-popup__title{font-family:var(--font-display);font-size:1.1rem;color:var(--green);margin-bottom:0.2em}.map-popup__addr{color:var(--ink-soft);font-size:0.9rem}.contact-grid{display:grid;grid-template-columns:0.85fr 1.15fr;gap:var(--space-xl);align-items:start}@media (max-width: 820px){.contact-grid{grid-template-columns:1fr;gap:var(--space-l)}}.contact-card__phone{font-family:var(--font-display);font-size:var(--step-2);color:var(--green);text-decoration:none;display:inline-block;margin:0.1em 0 var(--space-s)}.contact-card__phone:hover{color:var(--gold-deep)}[data-scheme="dark"] .contact-card__phone{color:var(--gold)}.contact-address{font-style:normal;line-height:1.8;color:var(--ink-soft)}
