:root { --ivory:#faf9f6; --paper:#fffefa; --ink:#292724; --muted:#6e6860; --gold:#aa8a56; --gold-dark:#8e7041; --line:#d9d0c1; --shadow:0 18px 55px rgba(59,45,26,.08); }
* { box-sizing:border-box; }
html { min-width:320px; scroll-behavior:smooth; }
body { min-height:100vh; margin:0; color:var(--ink); background:var(--ivory); font-family:Inter,Arial,sans-serif; font-size:16px; line-height:1.55; }
body::before { content:""; position:fixed; z-index:-1; inset:0; pointer-events:none; opacity:.3; background-image:repeating-linear-gradient(0deg,rgba(96,75,43,.035) 0,rgba(96,75,43,.035) 1px,transparent 1px,transparent 5px), repeating-linear-gradient(90deg,rgba(255,255,255,.28) 0,rgba(255,255,255,.28) 1px,transparent 1px,transparent 7px); }
a { color:inherit; }
.skip-link { position:absolute; left:1rem; top:-4rem; z-index:10; padding:.7rem 1rem; background:var(--ink); color:#fff; border-radius:0 0 .4rem .4rem; text-decoration:none; }.skip-link:focus { top:0; }
.site-shell { display:grid; place-items:center; min-height:100vh; padding:3.5rem 1.25rem 2rem; }
.holding-page { width:min(100%,760px); padding:3.1rem clamp(1.25rem,5vw,4rem) 2rem; text-align:center; background:rgba(255,254,250,.76); border:1px solid rgba(217,208,193,.72); border-radius:2px; box-shadow:var(--shadow); animation:arrive .65s ease-out both; }
.masthead { display:grid; justify-items:center; }.brand-logo { width:min(142px,45vw); height:auto; display:block; margin:0 auto .35rem; mix-blend-mode:multiply; }.brand-name { margin:0; font-family:"Cormorant Garamond",Georgia,serif; font-size:clamp(2.55rem,7vw,3.45rem); font-weight:600; line-height:.9; letter-spacing:.12em; text-transform:uppercase; }.brand-type { margin:.5rem 0 .4rem; color:var(--gold-dark); text-transform:uppercase; letter-spacing:.32em; font-size:.67rem; font-weight:600; }.eyebrow { margin:.5rem 0 1.15rem; color:var(--gold-dark); text-transform:uppercase; letter-spacing:.17em; font-size:.64rem; font-weight:600; }.ornament { display:flex; align-items:center; gap:.65rem; width:min(100%,360px); margin:0 auto; color:var(--gold); }.ornament span { height:1px; flex:1; background:linear-gradient(90deg,transparent,var(--line)); }.ornament span:last-child { background:linear-gradient(90deg,var(--line),transparent); }.ornament i { font-style:normal; font-size:.67rem; }.services { margin:1.15rem 0 2.55rem; color:var(--muted); text-transform:uppercase; letter-spacing:.125em; font-size:clamp(.61rem,1.5vw,.72rem); font-weight:600; }.services b { color:var(--gold); margin:0 .28rem; }
.content-grid { display:grid; grid-template-columns:1.18fr .82fr; text-align:left; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }.contact-panel,.hours-panel { padding:2rem clamp(1rem,3vw,2.25rem); }.contact-panel { border-right:1px solid var(--line); }.section-heading { margin:0 0 1.3rem; color:var(--gold-dark); font-family:"Cormorant Garamond",Georgia,serif; font-size:1.65rem; font-weight:600; letter-spacing:.02em; }.contact-list { display:grid; gap:1rem; }.contact-item { display:flex; align-items:flex-start; gap:.8rem; min-width:0; padding:.2rem 0; text-decoration:none; border-radius:.25rem; transition:color .22s ease,transform .22s ease; }.contact-item:hover { color:var(--gold-dark); transform:translateX(3px); }.contact-item svg,.hours-icon { flex:0 0 auto; width:1.15rem; height:1.15rem; margin-top:.25rem; fill:none; stroke:var(--gold); stroke-width:1.65; }.contact-item span>span,.contact-item strong { display:block; }.contact-item strong { font-size:.67rem; letter-spacing:.13em; line-height:1.35; text-transform:uppercase; }.contact-item span>span { color:var(--muted); font-size:.82rem; line-height:1.65; }.directions-button { display:flex; justify-content:space-between; align-items:center; gap:.75rem; margin-top:1.55rem; padding:.62rem .85rem; color:var(--gold-dark); border:1px solid var(--gold); border-radius:2px; text-decoration:none; text-transform:uppercase; letter-spacing:.12em; font-size:.63rem; font-weight:600; transition:background .22s ease,color .22s ease; }.directions-button:hover { background:var(--gold); color:#fff; }.directions-button span:last-child { font-size:1rem; line-height:1; }
.hours-panel { text-align:center; }.hours-icon { width:1.3rem; height:1.3rem; margin:0 0 .45rem; }.hours-panel .section-heading { margin-bottom:1.4rem; }.hours-list { margin:0; }.hours-list div+div { margin-top:1.3rem; padding-top:1.3rem; border-top:1px solid rgba(217,208,193,.7); }.hours-list dt { color:var(--muted); font-size:.72rem; letter-spacing:.04em; }.hours-list dd { margin:.23rem 0 0; font-family:"Cormorant Garamond",Georgia,serif; font-size:1.24rem; font-weight:600; }.section-ornament { margin:2.5rem auto 1.6rem; }.welcome { max-width:535px; margin:auto; font-family:"Cormorant Garamond",Georgia,serif; font-size:clamp(1.26rem,2.8vw,1.58rem); line-height:1.35; }.welcome p { margin:.35rem 0; }.welcome p:last-child { color:var(--gold-dark); font-size:.95em; } footer { margin-top:2.5rem; color:#999187; font-size:.65rem; letter-spacing:.08em; text-transform:uppercase; }
.call-button { display:none; }.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; } :focus-visible { outline:3px solid rgba(170,138,86,.55); outline-offset:4px; }
@keyframes arrive { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } }
@media (max-width:600px) { .site-shell { padding:1rem .7rem 5.6rem; align-items:start; }.holding-page { padding:2.4rem 1.25rem 1.5rem; }.brand-logo { width:min(128px,43vw); }.services { margin-bottom:2rem; }.content-grid { grid-template-columns:1fr; }.contact-panel { border-right:0; border-bottom:1px solid var(--line); padding:1.75rem .25rem; }.hours-panel { padding:1.65rem .25rem; }.directions-button { padding:.82rem .95rem; }.section-ornament { margin:2rem auto 1.35rem; }.call-button { position:fixed; z-index:4; right:1rem; bottom:1rem; display:flex; align-items:center; gap:.48rem; padding:.8rem 1rem; color:#fff; background:var(--gold-dark); box-shadow:0 8px 22px rgba(62,45,24,.25); border-radius:999px; text-decoration:none; text-transform:uppercase; letter-spacing:.1em; font-size:.68rem; font-weight:600; }.call-button svg { width:1rem; height:1rem; fill:none; stroke:currentColor; stroke-width:2; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; } }
@media print { body { background:#fff; }.holding-page { box-shadow:none; border:0; }.call-button,.skip-link { display:none; } }
