/*
Theme Name: Chau Tailor
Version: 1.0.4
*/
:root{--ink:#192720;--cream:#fbf8ef;--muted:#4c594f;--gold:#af8852;--line:#ddd7c8}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.65 system-ui,sans-serif}a{color:inherit}img{display:block;width:100%;object-fit:cover}h1,h2,h3,.brand{font-family:Georgia,serif;font-weight:400;line-height:1.02;margin:0}h1{font-size:clamp(3.7rem,7vw,7.5rem);letter-spacing:-.065em}h2{font-size:clamp(2.8rem,5vw,5rem);letter-spacing:-.05em}h3{font-size:1.8rem}.wrap{width:min(1120px,calc(100% - 48px));margin:auto}.bar{background:#18251e;color:#f2eadb;font-size:.75rem;letter-spacing:.14em}.bar .wrap,.nav,.footer{display:flex;align-items:center;justify-content:space-between;gap:1rem}.bar .wrap{padding:8px 0}.nav{padding:25px 0}.brand{text-decoration:none;font-size:2rem}.brand small{display:block;font:600 .55rem/1.5 system-ui;letter-spacing:.15em;margin-top:5px}.nav nav{display:flex;gap:clamp(.75rem,3vw,2.5rem);flex-wrap:wrap}.nav nav a,.bar a,.footer a{text-decoration:none}.nav nav a:hover,.footer a:hover{text-decoration:underline}.hero{display:grid;grid-template-columns:1fr 1fr;background:#eae2d3;min-height:550px}.hero-copy{padding:clamp(38px,7vw,100px) clamp(24px,6vw,95px);align-self:center}.hero-copy>p:not(.eyebrow){max-width:36ch;margin:25px 0;color:var(--muted)}.eyebrow,.cards article>span{letter-spacing:.18em;font-size:.7rem;font-weight:750;margin:0 0 16px}.hero-photo{position:relative;min-height:360px}.hero-photo img{position:absolute;height:100%;object-position:center}.hero-photo div{position:absolute;bottom:15px;right:15px;background:#18251e;color:white;padding:6px 12px;font-size:.7rem;letter-spacing:.12em}.actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.button{display:inline-block;background:#20352a;color:white;text-decoration:none;padding:12px 20px;font-weight:650}.button:hover{background:#365645}.more{font-weight:650;text-underline-offset:5px}.section{padding:80px 0}.intro{color:var(--muted);margin-bottom:30px}.cards,.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.cards img{aspect-ratio:1.45;margin-bottom:18px}.cards p{color:var(--muted)}.story{background:#e9e1d1;padding:65px 0}.story-grid,.visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(25px,6vw,85px);align-items:center}.story img{aspect-ratio:1.45}.gallery{grid-template-columns:repeat(4,1fr);gap:12px}.gallery img{aspect-ratio:1;background:#eae2d3;transition:filter .2s}.gallery a:hover img{filter:brightness(.85)}.visit{background:#1e3026;color:#fff8e9;padding:65px 0}.visit .button{background:#f1e2c7;color:var(--ink)}.visit .button:hover{background:#fff5df}.visit address{font-style:normal;margin:12px 0 2px}.directions{text-underline-offset:4px}.visit dl div{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #597064;padding:5px 0}.visit dd{margin:0}.footer{padding:18px 0;font-size:.85rem}.skip{position:absolute;top:-200px}.skip:focus{top:0;z-index:2;background:white;padding:10px}dialog{border:0;background:#18251e;padding:12px;color:white;max-width:90vw}dialog img{width:auto;max-width:85vw;max-height:80vh;object-fit:contain}dialog button{display:block;margin:0 0 6px auto;background:#fff;color:#192720;border:0;font-size:1.5rem;cursor:pointer}dialog::backdrop{background:#000b}@media(max-width:760px){.hero,.story-grid,.visit-grid{grid-template-columns:1fr}.nav{align-items:flex-start;flex-direction:column}.section{padding:53px 0}.cards{grid-template-columns:1fr}.gallery{grid-template-columns:repeat(2,1fr)}.hero-photo{min-height:300px}}

/* Palette sampled from the original Frantic theme. */
:root{--ink:#282828;--cream:#f3f0eb;--muted:#504942;--line:#c1ada7;--red:#9d1717;--maroon:#610000;--charcoal:#282828}
.bar{background:var(--charcoal);color:#f3f0eb}
.brand i,.hero h1 i,.eyebrow,.cards article>span{color:var(--red)}
header.nav{background:var(--maroon);color:#fff8ef;width:100%;padding:23px max(24px,calc((100% - 1120px)/2));box-shadow:inset 0 3px #9d1717}
header.nav .brand i{color:#ffe5d1}
header.nav nav a:hover{text-decoration-color:#ffc3ad}
.hero,.story,.gallery img{background:#ece8df}
.button,.hero-photo div{background:var(--red)}
.button:hover{background:var(--maroon)}
.more{text-decoration-color:var(--red)}
.visit{background:var(--maroon);color:#fff8ef}
.visit dl div{border-color:#ae6d65}
.visit .button{background:#f3f0eb;color:var(--maroon)}
.visit .button:hover{background:#ffdfd1}
.footer{background:var(--charcoal);color:#f3f0eb;width:100%;padding:18px max(24px,calc((100% - 1120px)/2))}
dialog{background:var(--charcoal)}
a:focus-visible,button:focus-visible{outline:3px solid var(--red);outline-offset:4px}
.nav a:focus-visible,.visit a:focus-visible,.footer a:focus-visible{outline-color:#ffe5d1}

/* A fine woven finish over the original maroon and red. */
:root {
  --weave-warp: repeating-linear-gradient(115deg, #fff5e905 0 1px, transparent 1px 4px);
  --weave-weft: repeating-linear-gradient(25deg, #1c020212 0 1px, transparent 1px 4px);
}
header.nav,
.visit {
  background-image: var(--weave-warp), var(--weave-weft),
    radial-gradient(ellipse at 20% 0%, #791a1d, #4c080d 85%);
}
header.nav {
  box-shadow: inset 0 1px #c9816b, inset 0 -1px #33050a;
}
.button:not(.visit .button),
.hero-photo div {
  background-image: var(--weave-warp), var(--weave-weft),
    linear-gradient(145deg, #a4252a, #741219);
  border: 1px solid #6e151a;
}
.button:not(.visit .button):hover {
  background-image: var(--weave-warp), var(--weave-weft),
    linear-gradient(145deg, #882027, #570c12);
}

.visit-map {
  display: block;
  width: min(100%, 360px);
  height: 160px;
  margin-top: 1rem;
  border: 1px solid #ae6d65;
  border-radius: 4px;
}

.gallery-featured {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(12px, 3vw, 30px);
  margin: 0 0 28px;
}
.gallery-featured figure { margin: 0; }
.gallery-featured img { aspect-ratio: 4 / 5; }
.gallery-featured figcaption {
  padding: 10px 0;
  border-bottom: 1px solid var(--line);
  color: var(--maroon);
  font: clamp(.9rem, 2vw, 1.2rem) Georgia, serif;
}

.hero-photo img { object-fit: contain; object-position: center; }

.hero-photo { background: #fff; }
