:root{--yellow:#f0b232;--paper:#f5e9c8;--orange:#f04e2a;--charcoal:#2f2a24;--brown:#3b2f1e;--sand:#d8c089;--line:#b69a62;--white:#fff9e9}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--charcoal);font-family:Archivo,Arial,sans-serif;font-size:1rem;line-height:1.65}a{color:inherit}a:focus-visible{outline:3px solid var(--orange);outline-offset:4px}img{display:block;max-width:100%}.frame{width:min(1140px,calc(100% - 40px));margin:auto}.site-header{background:var(--yellow)}.site-header img{width:100%;height:auto}.nav{display:flex;gap:2.2rem;align-items:center;border-top:2px solid var(--charcoal);padding:.85rem 0 1rem}.nav a{text-decoration:none;font-weight:700;font-size:.94rem;padding:.1rem 0;border-bottom:2px solid transparent}.nav a:hover,.nav a[aria-current]{border-color:var(--orange)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Alegreya,Georgia,serif;line-height:1.12}h1{font-size:clamp(2.8rem,6vw,5.4rem);letter-spacing:-.035em}h2{font-size:clamp(2.2rem,4.3vw,3.4rem)}h3{font-size:1.75rem}.eyebrow{font:700 .84rem/1.3 'Alegreya SC',Georgia,serif;letter-spacing:.12em;text-transform:uppercase;color:#8a411e;margin-bottom:1.1rem}.intro{display:grid;grid-template-columns:1.1fr .82fr;gap:clamp(2rem,6vw,6rem);align-items:center;padding:clamp(3rem,7vw,6rem) 0 5rem;border-bottom:1px solid var(--line)}.intro-copy>p:not(.eyebrow){font-size:1.1rem;max-width:39rem}.intro-actions{display:flex;align-items:center;gap:1.8rem;flex-wrap:wrap;margin-top:2rem}.button{display:inline-block;background:var(--charcoal);color:var(--white);padding:.8rem 1.45rem;text-decoration:none;font-weight:700;border-radius:3px}.button:hover{background:var(--orange);color:var(--charcoal)}.text-link{font-weight:700;text-decoration-thickness:2px;text-underline-offset:5px}.text-link:hover,.back:hover{color:#b43b1e}.hero-photo{margin:0;transform:rotate(1.5deg);background:var(--white);padding:12px 12px 10px;box-shadow:10px 13px 0 var(--sand);border:1px solid var(--line)}.hero-photo img{width:100%;aspect-ratio:1.22;object-fit:cover}.hero-photo figcaption{font:italic 1.1rem Alegreya,Georgia,serif;text-align:center;padding-top:.6rem}.home-section,.media-section{padding:4.5rem 0;border-bottom:1px solid var(--line)}.section-heading{margin-bottom:2rem}.section-heading h2{margin-bottom:.35rem}.section-heading p:last-child{margin-bottom:0}.split{display:flex;justify-content:space-between;align-items:end;gap:1.2rem}.feature-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem}.feature{position:relative;background:var(--brown);color:var(--white);padding:2rem 2rem 2.3rem;min-height:190px;text-decoration:none;display:flex;flex-direction:column;gap:.65rem}.feature:nth-child(2){background:#a43d22}.feature:hover{background:#d55725}.feature strong{font:600 2rem/1.1 Alegreya,Georgia,serif}.feature span{max-width:23rem}.feature b{position:absolute;right:1.6rem;top:1.4rem;font-size:1.5rem}.post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.post-card{background:var(--white);text-decoration:none;display:flex;flex-direction:column;border:1px solid var(--line);transition:transform .15s,box-shadow .15s}.post-card:hover{transform:translateY(-3px);box-shadow:6px 7px 0 var(--sand)}.post-image{height:190px;overflow:hidden;background:#e6c982;display:grid;place-items:center}.post-image img{height:100%;width:100%;object-fit:cover}.text-thumb{font:600 1.8rem/1.05 Alegreya,Georgia,serif;text-align:center;max-width:80%;color:var(--brown)}.post-info{padding:1.2rem 1.3rem 1.4rem;display:flex;flex-direction:column;flex:1}.post-info h3{margin-bottom:.7rem}.post-info p{color:#53483a;font-size:.93rem;line-height:1.5;flex:1}.read-more{font-weight:700;font-size:.86rem;text-decoration:underline;text-underline-offset:4px}.page-intro{padding:3.5rem 0 2.8rem;border-bottom:1px solid var(--line)}.page-intro h1{margin-bottom:.6rem}.page-intro>p:last-child{max-width:43rem;font-size:1.08rem}.all-posts{padding:3rem 0 5rem}.media-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.media-tile{min-height:145px;background:var(--white);border:1px solid var(--line);padding:1.3rem 1.5rem;text-decoration:none;display:grid;grid-template-columns:2rem 1fr;column-gap:1rem;align-content:center}.media-tile:hover{border-color:var(--orange);box-shadow:5px 5px 0 var(--sand)}.media-tile span{font:700 .95rem 'Alegreya SC',serif;color:#a2401c;grid-row:1/3}.media-tile strong{font:600 1.65rem/1.2 Alegreya,Georgia,serif}.media-tile small{font-size:.85rem;font-weight:700;text-decoration:underline;text-underline-offset:3px}.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.6rem 1rem}.gallery-item{margin:0}.gallery-item a{display:block;background:var(--sand)}.gallery-item img{width:100%;height:230px;object-fit:cover}.gallery-item figcaption{font-size:.86rem;line-height:1.4;margin-top:.45rem}.article{max-width:800px;margin:auto;padding:2.5rem 0 6rem}.back{display:inline-block;margin-bottom:2.4rem;font-weight:700;text-decoration:none}.article header{border-bottom:1px solid var(--line);padding-bottom:1.4rem;margin-bottom:2rem}.article h1{font-size:clamp(2.6rem,5vw,4.5rem);overflow-wrap:anywhere}.article-image{width:100%;max-height:460px;object-fit:contain;background:var(--white);margin:0 auto 2rem}.article-body{font:1.25rem/1.55 Alegreya,Georgia,serif}.article-body p,.article-body>div{margin:0 0 1.25rem}.article-body h2,.article-body h3{margin:2rem 0 .6rem}.article-body h2{font-size:1.9rem}.article-body h3{font-size:1.5rem}.article-body a{color:#9d361a}.article-end{border-top:1px solid var(--line);margin-top:3rem;padding-top:1.5rem;display:grid;grid-template-columns:1fr 1fr;gap:2rem;font-family:Archivo,Arial,sans-serif}.article-end a{display:flex;flex-direction:column;text-decoration:none;line-height:1.35;gap:.4rem}.article-end a:last-child{text-align:right}.article-end a span{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#8a411e}.article-end a strong{font:600 1.25rem/1.2 Alegreya,Georgia,serif}.article-end a:hover strong{text-decoration:underline;text-underline-offset:3px}.site-footer{background:var(--charcoal);color:var(--paper);margin-top:5rem}.site-footer .frame{padding:2rem 0;display:flex;justify-content:space-between;gap:1rem;font-size:.87rem}
@media(max-width:850px){.post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.intro{gap:2rem}.hero-photo img{aspect-ratio:1}}
@media(max-width:620px){.frame{width:min(100% - 30px,1140px)}.nav{gap:1.4rem;padding:.6rem 0 .8rem}.intro{grid-template-columns:1fr;padding:2.7rem 0 3.5rem}.hero-photo{max-width:440px;transform:rotate(.8deg);margin:1rem 7px 0}.home-section,.media-section{padding:3rem 0}.feature-grid,.post-grid,.media-grid{grid-template-columns:1fr}.feature{min-height:160px}.post-image{height:220px}.split{align-items:start;flex-direction:column}.page-intro{padding:2.5rem 0}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem .7rem}.gallery-item img{height:170px}.gallery-item figcaption{font-size:.82rem}.article{padding-top:2rem}.site-footer .frame{flex-direction:column}}
@media(max-width:360px){.gallery{grid-template-columns:1fr}.gallery-item img{height:auto;max-height:340px;object-fit:contain}}
.photo-viewer{border:0;border-radius:4px;background:var(--charcoal);color:var(--white);padding:1rem;max-width:min(1000px,calc(100vw - 1.5rem));max-height:calc(100dvh - 1.5rem);width:100%;box-shadow:0 20px 60px #0008}
.photo-viewer::backdrop{background:#17130fe8}
.photo-viewer img{max-height:calc(100dvh - 11rem);max-width:100%;width:auto;margin:auto;object-fit:contain}
.viewer-close{display:block;margin:0 0 .4rem auto;font-size:2rem;line-height:1;background:transparent;color:var(--white);border:0;cursor:pointer}
.viewer-caption{text-align:center;margin:.5rem 0;min-height:1.5rem}
.viewer-controls{display:flex;justify-content:space-between;align-items:center;gap:1rem}
.viewer-controls button{border:1px solid var(--sand);background:transparent;color:var(--white);font:inherit;padding:.4rem .7rem;cursor:pointer}
.viewer-controls button:hover,.viewer-controls button:focus-visible,.viewer-close:hover{background:var(--yellow);color:var(--charcoal)}
.viewer-count{font-size:.9rem;white-space:nowrap}
.photo-group+.photo-group{margin-top:3.5rem}.photo-group h3{border-bottom:1px solid var(--line);padding-bottom:.5rem;margin-bottom:1.4rem;font-size:2rem}
.photo-position{font-weight:700;color:#8a411e}
@media(max-width:620px){.photo-viewer{padding:.7rem}.photo-viewer img{max-height:calc(100dvh - 12rem)}.viewer-controls{gap:.4rem}.viewer-controls button{font-size:.9rem}}
