
:root{--green:#153b33;--green-deep:#0b2824;--green-middle:#295148;--brick:#823c2b;--brick-dark:#5d241d;--stone:#e9dcc2;--paper:#f5eddc;--parchment:#eee0c5;--gold:#b58e52;--ink:#242c25;--muted:#655a49;--shadow:0 14px 35px rgba(13,29,24,.22)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:1rem}
body{margin:0;color:var(--ink);background:var(--green-deep);font-family:Georgia,'Palatino Linotype',serif;line-height:1.62;font-size:16px}
a{color:inherit;text-underline-offset:3px}
a:hover{color:var(--brick)}
button{font:inherit}img{display:block;max-width:100%}
:focus-visible{outline:3px solid #d5a54f;outline-offset:4px}
.skip-link{position:absolute;top:-100px;left:12px;padding:10px 20px;z-index:1000;background:#fff}.skip-link:focus{top:12px}
.site-shell{width:100%;max-width:1600px;margin:0 auto;overflow:hidden;box-shadow:0 0 70px rgba(0,0,0,.2);background:var(--paper)}
/* The header is composed like the depot: brick course, limestone coping, green-framed openings. */
.roof-brick{height:40px;background-color:#863e2d;background-image:repeating-linear-gradient(90deg,transparent 0 61px,rgba(255,238,201,.2) 62px 64px,transparent 65px 125px),repeating-linear-gradient(0deg,transparent 0 17px,rgba(39,14,12,.4) 18px 20px,transparent 21px 38px),repeating-linear-gradient(90deg,rgba(59,20,16,.22) 0 1px,transparent 1px 31px,rgba(59,20,16,.2) 31px 32px,transparent 32px 64px);border-bottom:9px ridge #e9d2ac;box-shadow:inset 0 5px rgba(42,16,13,.23);position:relative}
.roof-brick::after{content:"";position:absolute;left:0;right:0;bottom:-11px;height:5px;background:repeating-linear-gradient(90deg,#ae895c 0 30px,#604b36 30px 32px)}
.site-header{position:relative;background:linear-gradient(#274b41,#143a32);min-height:99px;border-bottom:9px solid #a79272;box-shadow:0 4px 0 rgba(83,59,41,.45);z-index:20}
.site-header::before,.site-header::after{content:"";position:absolute;top:-5px;bottom:-5px;width:72px;background:#e3d2b2 url('assets/limestone-flower.svg') center/58px no-repeat;box-shadow:inset 0 0 0 5px #bdab8b,inset 0 0 0 8px #ece0c7;z-index:2}
.site-header::before{left:0}.site-header::after{right:0}
.nav-row{max-width:1430px;margin:auto;padding:0 80px;min-height:93px;display:grid;grid-template-columns:1fr minmax(310px,450px) 1fr;gap:14px;align-items:center}
.nav-set{display:flex;align-items:center;justify-content:space-evenly;gap:14px;list-style:none;padding:0;margin:0}
.nav-set a{font-size:.84rem;letter-spacing:.11em;text-transform:uppercase;color:#f7ead0;font-weight:700;text-decoration:none;white-space:nowrap;display:inline-block;padding:8px 0;border-bottom:2px solid transparent}
.nav-set a:hover,.nav-set a[aria-current="page"]{color:#ffe8b4;border-bottom-color:#d7b675}
.brand{display:block;position:relative;top:-16px;min-height:104px;padding:16px 15px 10px;background:radial-gradient(ellipse at 50% 0,#fff9ea,transparent 65%),linear-gradient(115deg,#e2ceaa 0,#f7ecd8 23%,#e7d5b5 52%,#fff5df 75%,#d6bb94 100%);box-shadow:0 6px 5px rgba(0,0,0,.23),inset 0 0 0 3px #7e6647,inset 0 0 0 9px #efe3c8,inset 0 0 0 11px #ad9772;text-decoration:none;color:#16382f!important;text-align:center;clip-path:polygon(5% 0,95% 0,100% 18%,100% 82%,95% 100%,5% 100%,0 82%,0 18%)}
.brand-name{font-weight:700;letter-spacing:.015em;font-size:clamp(1.45rem,2.2vw,2.25rem);line-height:1.12;font-variant:small-caps;text-shadow:0 1px #fff6e0}
.brand-sub{display:block;font-size:.69rem;letter-spacing:.32em;font-weight:700;line-height:1.7;color:#735a3e}
.mobile-nav{display:none}
.main-content{background:linear-gradient(140deg,rgba(145,104,63,.09) 0,transparent 48%),#eee0c5}
/* Real depot photo in the hero; no simulated building or invented tour. */
.hero{display:grid;grid-template-columns:39% 61%;min-height:510px;border-bottom:10px solid #bbaa87;background:var(--paper)}
.hero-copy{position:relative;z-index:2;padding:65px 42px 50px 60px;background:radial-gradient(circle at 30% 0,rgba(255,255,255,.64),transparent 45%),repeating-linear-gradient(0deg,rgba(117,88,53,.018) 0 1px,transparent 1px 4px),linear-gradient(98deg,#f4e9d3,#e8d7b8);border-right:9px solid #b7a17e;border-top-right-radius:100px 125px;box-shadow:7px 0 0 rgba(58,49,30,.17),inset 0 0 0 1px #c7b596}
.hero-copy::before{content:"";position:absolute;top:18px;right:18px;bottom:18px;left:18px;border:1px solid rgba(118,93,57,.28);border-top-right-radius:86px 112px;pointer-events:none}
.eyebrow{font-family:Georgia,serif;font-weight:700;letter-spacing:.22em;text-transform:uppercase;font-size:.8rem;color:#714b30}
.eyebrow::after{content:"";display:block;width:70px;height:2px;background:var(--gold);margin:14px 0 20px}
.hero h1{font-size:clamp(2.8rem,4vw,4.6rem);font-weight:600;line-height:.99;letter-spacing:.005em;color:#254b3d;text-shadow:1px 2px #c9b289,2px 3px #efe5d1;margin:0 0 22px;font-variant:small-caps}
.hero h1 span{font-size:.73em;display:block;line-height:1.1}
.filigree{display:flex;gap:9px;align-items:center;color:#977546;margin:19px 0}.filigree:before,.filigree:after{content:"";height:1px;flex:1;background:linear-gradient(90deg,transparent,#9d8057,transparent)}.filigree span{font-size:20px}
.hero-lead{max-width:30ch;font-size:clamp(1.05rem,1.4vw,1.32rem);line-height:1.48;font-style:italic;color:#3e483c;text-wrap:balance}
.hero-note{margin:24px 0 0;font-size:.77rem;letter-spacing:.13em;text-transform:uppercase;color:#78674e}
.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;padding:12px 18px;border:2px solid #e0ba83;background:var(--brick);color:#fff7e4!important;box-shadow:0 0 0 3px #8c3328,0 7px 14px rgba(54,32,20,.14);font-size:.83rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;min-height:48px;transition:transform .2s,background .2s}.button:hover{background:#632d22;transform:translateY(-2px)}.button:focus-visible{outline-offset:6px}
.hero-photo{position:relative;margin:0;min-width:0;background:#224437;overflow:hidden}
.hero-photo img{width:100%;height:100%;min-height:510px;object-fit:cover;object-position:center 44%;filter:saturate(.88) contrast(1.05)}
.hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(23,45,35,.08),transparent 28%),linear-gradient(0deg,rgba(15,39,34,.38),transparent 20%);pointer-events:none}
.hero-photo figcaption{position:absolute;right:16px;bottom:14px;z-index:1;font-size:.65rem;text-transform:uppercase;letter-spacing:.14em;color:#fff1d7;background:rgba(7,25,20,.65);padding:5px 10px}
/* Engraved placards are modeled after limestone window surrounds, not generic cards. */
.actions-band{padding:28px 30px 30px;background:repeating-linear-gradient(90deg,rgba(181,144,94,.08) 0 1px,transparent 1px 82px),linear-gradient(#143c33,#0e2e29);border-bottom:9px ridge #b9a17a;position:relative}
.actions-band::before,.actions-band::after{content:"";position:absolute;left:0;right:0;height:4px;background:repeating-linear-gradient(90deg,#b99d70 0 24px,#1d4137 24px 27px,#dfc89d 27px 50px);opacity:.7}.actions-band::before{top:5px}.actions-band::after{bottom:5px}
.actions-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;max-width:1470px;margin:auto}
.action-card{display:flex;align-items:center;gap:15px;min-height:154px;padding:19px 16px 20px;background:radial-gradient(circle at top left,#fff7e7,#edddbd 65%,#d3b88d);border:8px double #baa27b;box-shadow:inset 0 0 0 2px #6c583c,0 6px 0 rgba(0,0,0,.25);position:relative;text-decoration:none;color:#244538!important;transition:transform .18s,box-shadow .18s}
.action-card::before,.action-card::after{content:'◆';position:absolute;font-size:.7rem;color:#806341}.action-card::before{top:3px;left:8px}.action-card::after{bottom:2px;right:8px}
.action-card:hover{transform:translateY(-4px);box-shadow:inset 0 0 0 2px #6c583c,0 10px 12px rgba(0,0,0,.25)}
.action-icon{width:65px;height:65px;flex:0 0 65px;display:grid;place-items:center;border-radius:50%;border:2px solid #a98d5f;box-shadow:inset 0 0 0 4px #eddfc6;background:rgba(255,252,245,.35)}.action-icon img{width:52px;height:52px;opacity:.92}
.action-copy strong{display:block;font-variant:small-caps;font-size:1.65rem;line-height:1.1;margin-bottom:5px;letter-spacing:.01em}.action-copy small{display:block;font: .88rem/1.42 Georgia,serif;color:#55503f}.arrow-glyph{position:absolute;bottom:8px;right:13px;color:var(--brick);font-size:1.1rem}
.page-section{padding:44px 30px 54px;background-image:radial-gradient(rgba(115,80,35,.045) .7px,transparent .7px);background-size:5px 5px}
.info-grid{max-width:1470px;margin:auto;display:grid;grid-template-columns:1.8fr .8fr 1fr;gap:18px;align-items:stretch}
.stone-panel{border:8px double #c2aa82;background:linear-gradient(120deg,rgba(255,255,255,.42),transparent 48%),#efe2c8;box-shadow:inset 0 0 0 2px #e8d8b9,var(--shadow);padding:22px 25px;position:relative}
.stone-panel::before,.stone-panel::after{content:"";position:absolute;width:12px;height:12px;border:2px solid #987b4e;opacity:.55}.stone-panel::before{top:8px;left:8px;border-right:0;border-bottom:0}.stone-panel::after{right:8px;bottom:8px;border-left:0;border-top:0}
.stone-panel h2,.architecture-panel h2{color:#29493e;font-variant:small-caps;font-size:clamp(1.45rem,2.1vw,2rem);line-height:1.12;margin:5px 0 15px}.stone-panel p{margin:0 0 16px;line-height:1.6}
.welcome-panel{display:grid;grid-template-columns:minmax(140px,38%) 1fr;gap:22px;align-items:start}
.welcome-photo{width:100%;height:100%;max-height:310px;object-fit:cover;object-position:45% 46%;border:7px solid #f9f1e0;outline:2px solid #af956e;filter:saturate(.85)}
.panel-link{font-size:.76rem;letter-spacing:.12em;font-weight:700;text-transform:uppercase;color:var(--brick);text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:4px}.panel-link:hover{border-bottom-color:var(--brick)}
.hours-icon{font-size:1.25rem;color:var(--gold)}.hours-panel dl{margin:0}.hours-panel dt{font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;font-weight:bold;color:#5e4a33;margin-top:13px}.hours-panel dd{margin:1px 0 0}.smallprint{font-size:.79rem;color:var(--muted);margin-top:14px!important}
.architecture-panel{background:#143a32;color:#f7e9ce;border:7px double #ae9367;padding:0;position:relative;overflow:hidden;display:flex;flex-direction:column;min-height:340px}
.architecture-panel figure{margin:0;height:170px;overflow:hidden;position:relative}.architecture-panel figure img{width:100%;height:100%;object-fit:cover;object-position:center 18%;filter:sepia(.12) saturate(.75)}.architecture-panel figure::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#143a32,transparent 50%)}
.architecture-panel .architecture-body{padding:7px 22px 22px}.architecture-panel h2{color:#ecd7ac;margin-top:0}.architecture-panel p{font-size:.9rem;margin:0 0 13px}.architecture-panel a{color:#e8c285;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase}
.photo-ribbon{background:#e4d3b4;padding:23px 30px;border-top:5px solid #b59a6c}.photo-ribbon-inner{max-width:1470px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr 1fr;gap:17px}.photo-ribbon figure{margin:0;position:relative;border:6px solid #faf0db;box-shadow:0 4px 15px rgba(55,35,15,.18)}.photo-ribbon img{width:100%;height:190px;object-fit:cover}.photo-ribbon figcaption{background:#f4e8d1;padding:9px 13px;font-size:.83rem;font-style:italic;text-align:center;color:#5b5344}
.site-footer{border-top:12px ridge #c4ab82;background:linear-gradient(#164037,#092922);color:#f1e4ca;padding:35px 30px 26px}.footer-inner{max-width:1360px;margin:auto;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:36px}.site-footer h2{font-variant:small-caps;font-size:1.75rem;line-height:1.1;color:#ead2a2}.site-footer h3{font-size:.86rem;text-transform:uppercase;letter-spacing:.14em;color:#e0c395;margin:0 0 8px}.site-footer p{margin:0 0 12px}.site-footer a{color:#fae0a9}.site-footer a:hover{color:white}.footer-bottom{max-width:1360px;margin:30px auto 0;border-top:1px solid rgba(245,226,190,.23);padding-top:13px;color:#d0bea2;font-size:.73rem;letter-spacing:.05em;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
/* Interior pages carry the same architecture language and a readable editorial layout. */
.page-hero{min-height:270px;position:relative;background:#1a3b32;display:grid;grid-template-columns:58% 42%;border-bottom:8px solid #b49e78}
.page-hero-title{padding:40px clamp(25px,5vw,75px);background:linear-gradient(112deg,#eee0c4 78%,#d5c1a1);border-right:8px double #9f8560;display:flex;flex-direction:column;justify-content:center}
.page-hero-title h1{font-size:clamp(2.6rem,4vw,4.3rem);font-variant:small-caps;line-height:1.02;margin:0;color:#264a3f;text-wrap:balance}.page-hero-title p{font-style:italic;font-size:1.1rem;max-width:52ch}.page-hero>img{width:100%;height:100%;min-height:270px;object-fit:cover;object-position:center 45%}
.breadcrumb{max-width:1250px;margin:0 auto;padding:18px 23px 0;color:#726348;font-size:.84rem}.breadcrumb a{color:#6a4531}
.interior-container{max-width:1300px;margin:auto;padding:28px 24px 70px;display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:28px}
.article-panel{padding:clamp(22px,4vw,52px);min-width:0}
.article-panel h2{font-size:2rem;color:var(--green);font-variant:small-caps;margin:24px 0 12px}.article-panel p{line-height:1.75;font-size:1.08rem;margin:0 0 20px}.article-panel p:first-of-type::first-letter{font-size:1.35em;color:var(--brick)}
.article-panel a{color:#7a3728}.article-panel a:hover{color:#4e251e}
.story-aside{align-self:start;position:sticky;top:16px}.story-aside h2{font-size:1.45rem;font-variant:small-caps;margin:0 0 16px;color:#22463d}.story-aside ul{margin:0;padding:0;list-style:none}.story-aside li{border-bottom:1px solid rgba(83,66,41,.26)}.story-aside li a{padding:10px 0;display:block;text-decoration:none;color:#374a3f}.story-aside li a:hover{text-decoration:underline}
.photo-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin:28px 0}.photo-tile{display:flex;flex-direction:column;background:#ead8b7;border:7px double #ac946a;text-decoration:none!important;color:var(--ink)!important;overflow:hidden}.photo-tile img{width:100%;height:185px;object-fit:cover;transition:transform .2s}.photo-tile:hover img{transform:scale(1.03)}.photo-tile span{font-size:.85rem;text-align:center;padding:8px 11px;line-height:1.3;font-style:italic}
.floorplan{width:100%;max-width:760px;margin:25px auto 12px;background:#fff;border:8px solid #eee4d1;outline:2px solid #b7a17e}.floorplan img{width:100%;image-rendering:auto}.room-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px}.room-list details{background:#efe1c4;border:1px solid #b59b6e;padding:14px}.room-list summary{font-weight:bold;color:#274b3f;cursor:pointer;line-height:1.3}.room-list p{font-size:.91rem;margin:9px 0}.room-list img{max-width:230px;max-height:200px;object-fit:cover}.room-list a{font-weight:bold}
.visit-layout{display:grid;grid-template-columns:1fr 1fr;gap:17px}.visit-block{border:2px solid #c5ae89;padding:18px;background:#f6ebd6}.visit-block h2{margin:0 0 11px;font-size:1.6rem}.visit-block p{margin:0 0 7px}.wide{grid-column:1/-1}
.notice{background:#f8e8c1;border-left:5px solid #9e753f;padding:14px 18px;margin:18px 0;font-size:.89rem;line-height:1.6;color:#4f4838}
.image-dialog{position:fixed;inset:0;max-width:min(95vw,1100px);max-height:95vh;padding:19px;background:#eee1c8;border:7px double #a88b59;box-shadow:0 18px 70px #0008;color:#1f332c}.image-dialog::backdrop{background:rgba(3,20,18,.82)}.image-dialog img{max-height:72vh;max-width:100%;margin:auto;object-fit:contain}.image-dialog p{margin:9px 0 0;text-align:center}.dialog-close{position:absolute;top:7px;right:9px;cursor:pointer;background:#174037;color:white;padding:4px 12px;border:1px solid #dec18b;font-size:1.2rem}
@media(max-width:1250px){.site-header::before,.site-header::after{width:45px;background-size:36px}.nav-row{padding:0 49px;grid-template-columns:1fr minmax(280px,380px) 1fr;gap:7px}.nav-set{gap:8px}.nav-set a{font-size:.73rem}.brand-name{font-size:1.8rem}.hero-copy{padding-left:42px}.action-card{gap:8px;padding:18px 9px}.action-copy strong{font-size:1.4rem}.action-icon{width:54px;height:54px;flex-basis:54px}.action-icon img{width:43px}}
@media(max-width:960px){.nav-row{display:flex;justify-content:center;min-height:88px;padding:0 65px}.nav-set{display:none}.site-header::before,.site-header::after{width:42px}.brand{width:min(500px,75vw);min-height:92px;top:-10px}.brand-name{font-size:clamp(1.45rem,3.3vw,2.1rem)}.mobile-nav{display:block;position:absolute;right:50px;top:24px;color:white;z-index:5}.mobile-nav summary{list-style:none;cursor:pointer;border:1px solid #ceb990;background:#1a4138;color:#fff1db;padding:9px 12px;font-size:.78rem;letter-spacing:.08em}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav ul{position:absolute;right:0;top:37px;min-width:235px;padding:10px 14px;background:#16362f;border:2px solid #c4ab83;box-shadow:0 8px 22px #0006;list-style:none}.mobile-nav li a{display:block;color:#fff0d2;text-decoration:none;padding:9px 5px;border-bottom:1px solid #ffffff2b}.hero{grid-template-columns:43% 57%;min-height:450px}.hero-photo img{min-height:450px}.hero-copy{padding:48px 30px}.hero h1{font-size:clamp(2.8rem,4.4vw,4rem)}.actions-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.info-grid{grid-template-columns:1.5fr 1fr}.architecture-panel{grid-column:1/-1;display:grid;grid-template-columns:33% 1fr;min-height:220px}.architecture-panel figure{height:100%}.architecture-panel .architecture-body{padding:20px}.interior-container{grid-template-columns:1fr}.story-aside{position:static;order:-1}.story-aside ul{display:flex;flex-wrap:wrap;gap:10px}.story-aside li{border:1px solid #c9b493;padding:0 7px}}
@media(max-width:650px){.roof-brick{height:27px}.site-header{min-height:76px}.site-header::before,.site-header::after{width:25px;background-size:24px}.nav-row{min-height:75px;padding:0 36px;justify-content:flex-start}.brand{width:calc(100% - 50px);min-height:70px;padding:10px 7px 5px;top:-8px;box-shadow:inset 0 0 0 2px #7e6647,inset 0 0 0 6px #efe3c8,inset 0 0 0 8px #ad9772}.brand-name{font-size:clamp(1.2rem,4.4vw,1.7rem);line-height:1.15}.brand-sub{font-size:.52rem}.mobile-nav{right:27px;top:20px}.mobile-nav summary{font-size:0;width:31px;height:35px;padding:0;display:grid;place-items:center}.mobile-nav summary::after{content:'☰';font-size:1.2rem}.hero{display:flex;flex-direction:column;min-height:0}.hero-photo{order:0;height:300px}.hero-photo img{height:100%;min-height:0;object-position:center 40%}.hero-copy{order:1;min-height:0;padding:37px 33px 38px;border-right:none;border-top:9px solid #b7a17e;border-radius:0}.hero-copy::before{border-radius:0}.hero h1{font-size:clamp(3rem,10vw,4.5rem)}.hero-lead{max-width:32ch}.actions-band{padding:22px 15px}.actions-grid{grid-template-columns:1fr 1fr;gap:10px}.action-card{padding:17px 9px;flex-direction:column;align-items:flex-start;gap:9px;min-height:160px}.action-icon{width:45px;height:45px;flex-basis:auto}.action-icon img{width:37px;height:37px}.action-copy strong{font-size:1.45rem}.action-copy small{font-size:.79rem}.page-section{padding:22px 15px 34px}.info-grid{grid-template-columns:1fr}.welcome-panel{grid-template-columns:1fr}.welcome-photo{height:220px;max-height:none}.architecture-panel{grid-column:auto;display:flex}.architecture-panel figure{height:180px}.photo-ribbon{padding:15px}.photo-ribbon-inner{grid-template-columns:1fr;gap:11px}.photo-ribbon img{height:180px}.footer-inner{grid-template-columns:1fr;gap:18px}.site-footer{padding:27px 20px}.page-hero{grid-template-columns:1fr}.page-hero-title{padding:30px 26px}.page-hero>img{max-height:180px;min-height:0}.interior-container{padding:20px 14px 40px}.article-panel{padding:24px 20px}.room-list,.visit-layout{grid-template-columns:1fr}.wide{grid-column:auto}}
@media(max-width:360px){.site-header::before{display:none}.nav-row{padding-left:8px}.brand{width:calc(100% - 40px)}.mobile-nav{right:9px}.actions-grid{grid-template-columns:1fr}.action-card{flex-direction:row;min-height:120px}.hero-copy{padding:30px 24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.action-card,.photo-tile img{transition:none}}
