:root{--paper:#f6f1e7;--paper2:#ece4d3;--green:#17382f;--green2:#10281f;--brass:#9a7b3f;--ink:#1d2421;--mut:#59625d}
html{scroll-behavior:smooth;scroll-padding-top:120px}
body{font-family:'Work Sans',system-ui,sans-serif;background:var(--paper);color:var(--ink);line-height:1.7;font-size:1.02rem}
h1,h2,h3,h4{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;color:var(--green);line-height:1.1}
.eyebrow{font-size:.74rem;letter-spacing:.24em;text-transform:uppercase;color:var(--brass);font-weight:600}
a{color:var(--green)}
.topbar{background:var(--green2);color:#e9e2d0;font-size:.8rem;letter-spacing:.08em;padding:.45rem 0}
.topbar a{color:#e9e2d0;text-decoration:none;margin:0 .9rem}
.topbar a:hover{color:#fff}
.nav-wrap{background:var(--paper);border-bottom:1px solid var(--brass);position:sticky;top:0;z-index:50}
.brand{display:block;text-align:center;font-family:'Cormorant Garamond',serif;font-weight:600;font-size:2rem;letter-spacing:.2em;text-transform:uppercase;color:var(--green);text-decoration:none;padding:.8rem 0 .1rem}
.brand small{display:block;font-family:'Work Sans',sans-serif;font-size:.62rem;letter-spacing:.34em;color:var(--brass);font-weight:500}
.navbar{padding:0 0 .5rem}
.navbar .nav-link{font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);padding:.5rem 1.1rem}
.navbar .nav-link:hover{color:var(--brass)}
.navbar-toggler{border:1px solid var(--brass);margin:.4rem auto .3rem}
@media(max-width:991px){.brand{font-size:1.35rem;letter-spacing:.14em;text-align:left;padding-left:1rem;display:inline-block}.nav-top{display:flex;justify-content:space-between;align-items:center;padding-right:1rem}.navbar-toggler{margin:0}.navbar .nav-link{padding:.7rem 1rem;border-top:1px solid var(--paper2)}.brand small{letter-spacing:.2em}}
.hero{padding:4.5rem 0 4rem;position:relative}
.hero h1{font-size:clamp(2.7rem,6.6vw,5.4rem);text-transform:uppercase;letter-spacing:.02em;font-weight:500}
.hero h1 em{color:var(--brass);font-style:italic;text-transform:none;font-weight:500}
.hero p.lead{max-width:36rem;color:var(--mut)}
.btn-gd{background:var(--green);color:#f6f1e7;border-radius:0;letter-spacing:.16em;text-transform:uppercase;font-size:.76rem;padding:.9rem 1.6rem;border:1px solid var(--green)}
.btn-gd:hover{background:var(--green2);color:#fff}
.btn-line{border:1px solid var(--green);color:var(--green);border-radius:0;letter-spacing:.16em;text-transform:uppercase;font-size:.76rem;padding:.9rem 1.6rem}
.btn-line:hover{background:var(--green);color:#fff}
.hero-photo{display:block;width:100%;height:auto;box-shadow:0 18px 40px rgba(0,0,0,.18)}
.hero-photo+.ledger{margin:-4.5rem 0 0 -2.5rem;width:calc(100% - 1.5rem);box-shadow:0 12px 30px rgba(0,0,0,.15)}
.ledger{border:1px solid var(--brass);background:var(--paper2);padding:1.8rem 1.8rem 1.4rem;position:relative}
.ledger h3{font-size:1rem;font-family:'Work Sans',sans-serif;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:var(--brass);margin-bottom:1.1rem}
.ledger ol{list-style:none;margin:0;padding:0;position:relative}
.ledger ol:before{content:"";position:absolute;left:.62rem;top:.6rem;bottom:.6rem;border-left:1px dashed var(--brass)}
.ledger li{position:relative;padding:0 0 1rem 2.2rem;font-family:'Cormorant Garamond',serif;font-size:1.4rem;color:var(--green);line-height:1.2}
.ledger li:before{content:"";position:absolute;left:.25rem;top:.45rem;width:.75rem;height:.75rem;border-radius:50%;background:var(--paper2);border:2px solid var(--green)}
.ledger li:last-child:before{background:var(--green)}
.ledger li span{display:block;font-family:'Work Sans',sans-serif;font-size:.8rem;color:var(--mut);margin-top:.15rem}
.stamp{position:absolute;right:-.8rem;bottom:-1.2rem;transform:rotate(-8deg);border:2px solid #8b2e2e;color:#8b2e2e;padding:.25rem .8rem;font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;font-weight:700;background:var(--paper);opacity:.92}
.route{display:flex;align-items:center;gap:1rem;margin-top:2.2rem;font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--green)}
.route i{flex:0 0 60px;border-top:1px solid var(--brass)}
section{padding:5rem 0}
section h2{font-size:clamp(2rem,4vw,3.1rem);margin:.4rem 0 1.2rem}
.band{background:var(--green);color:#e9e2d0}
.band h2,.band h3{color:#f6f1e7}.band .eyebrow{color:#c9a96a}
.rule{border:0;border-top:1px solid var(--brass);width:64px;margin:1.2rem 0;opacity:1}
.pa{border-top:1px solid var(--brass);padding:1.6rem 0;height:100%}
.pa .n{font-family:'Cormorant Garamond',serif;font-size:1rem;color:var(--brass);letter-spacing:.2em}
.pa h3{font-size:1.9rem;margin:.3rem 0 .4rem}
.pa p{color:var(--mut);margin:0}
.info-card{border:1px solid rgba(201,169,106,.5);padding:2rem;height:100%}
.info-card h3{font-size:1.9rem}
.info-card ul{padding-left:1.1rem;margin:0}.info-card li{margin-bottom:.55rem}
.closing-day{background:var(--paper2);border-left:3px solid var(--brass);padding:1.6rem 1.8rem}
.closing-day h3{font-size:1.7rem}
.office{border:1px solid var(--brass);padding:2rem;height:100%;background:var(--paper)}
.office h3{font-size:2rem}
.office .tel{font-family:'Cormorant Garamond',serif;font-size:2rem;color:var(--green);text-decoration:none;font-weight:600}
.map{width:100%;height:230px;border:0;margin-top:1rem;filter:grayscale(.4)}
footer{background:var(--green2);color:#cfc8b6;padding:2.5rem 0;font-size:.85rem}
footer a{color:#e9e2d0}
.fine{font-size:.8rem;color:var(--mut)}
@media(max-width:767px){section{padding:3.4rem 0}.hero{padding:2.5rem 0 3rem}.stamp{right:.4rem}.hero-photo+.ledger{margin:-3rem 0 0;width:100%}.topbar a{display:inline-block;margin:0 .5rem}}
