:root{
  --twc-bg:#e8dfd0;
  --twc-dark:#1a1412;
  --twc-brown:#3d2b1f;
  --twc-accent:#8b4513;
  --twc-gold:#c5a059;
  --twc-cream:#f4ece1;
  --twc-card:#ffffffcc;
  --twc-border:rgba(61,43,31,.12);
  --twc-shadow:0 10px 30px rgba(0,0,0,.08);
  --twc-radius:4px;
  --twc-width:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--twc-bg);
  color:var(--twc-dark);
  font-family:"Inter",system-ui,sans-serif;
  line-height:1.65;
  background-image:url("https://www.transparenttextures.com/patterns/paper.png");
}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
.twc-container{width:min(calc(100% - 32px),var(--twc-width));margin:0 auto}
.twc-card{
  background:var(--twc-card);
  border:1px solid var(--twc-border);
  box-shadow:var(--twc-shadow);
  border-radius:var(--twc-radius);
  backdrop-filter:blur(2px);
}
.twc-header{
  position:sticky;top:0;z-index:40;
  background:linear-gradient(to bottom,#1a1412 0%,#2d1e18 100%);
  color:#fff;box-shadow:0 8px 30px rgba(0,0,0,.2)
}
.twc-header-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:84px}
.twc-logo-wrap img{max-height:58px;width:auto}
.twc-text-logo{font-family:"Playfair Display",serif;font-size:2rem;font-style:italic;color:var(--twc-gold)}
.twc-menu{display:flex;gap:32px;list-style:none;margin:0;padding:0}
.twc-menu a{font-size:.8rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;opacity:.95}
.twc-menu a:hover{color:var(--twc-gold)}
.twc-breadcrumb-wrap{border-bottom:1px solid rgba(0,0,0,.05)}
.twc-breadcrumbs{display:flex;gap:10px;align-items:center;padding:14px 0;font-size:.76rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(61,43,31,.68)}
.twc-breadcrumbs span:last-child{color:var(--twc-accent)}
.twc-home-hero,.twc-featured-section,.twc-content-area-section{padding:36px 0}
.twc-home-intro{padding:28px}
.twc-overline{font-size:.8rem;text-transform:uppercase;letter-spacing:.16em;color:var(--twc-accent);font-weight:700;margin-bottom:10px}
.twc-home-title,.twc-section-header h1,.twc-section-header h2,.twc-single-title{
  margin:0;
  font-family:"Playfair Display",serif;
  color:var(--twc-brown);
  line-height:1.1;
}
.twc-home-title{font-size:clamp(2rem,4vw,4rem);font-style:italic;margin-bottom:18px}
.twc-description-box{max-width:760px;background:#fff8;border:1px solid var(--twc-border);padding:18px 20px;font-size:1rem}
.twc-featured-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.twc-featured-thumb,.twc-post-thumb,.twc-related-thumb{overflow:hidden;background:#cfc2af}
.twc-featured-thumb{aspect-ratio:4/3;border-radius:4px;box-shadow:var(--twc-shadow);margin-bottom:14px}
.twc-featured-thumb img,.twc-post-thumb img,.twc-related-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.twc-featured-link:hover img,.twc-post-card-link:hover img,.twc-related-item a:hover img{transform:scale(1.06)}
.twc-featured-title{font-family:"Playfair Display",serif;font-size:1.7rem;line-height:1.2;color:var(--twc-brown);margin:0}
.twc-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:48px;align-items:start}
.twc-section-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--twc-border);padding-bottom:16px;margin-bottom:24px}
.twc-section-header h2{font-size:2.35rem;font-style:italic}
.twc-post-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.twc-post-card{overflow:hidden}
.twc-post-thumb{aspect-ratio:16/10}
.twc-post-body{padding:18px}
.twc-meta-time{display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--twc-accent);margin-bottom:10px}
.twc-post-title{margin:0 0 10px;font-family:"Playfair Display",serif;font-size:1.8rem;color:var(--twc-brown);line-height:1.2}
.twc-post-excerpt{margin:0 0 16px;color:rgba(61,43,31,.72);font-style:italic}
.twc-read-more,.twc-search-submit{display:inline-block;background:var(--twc-brown);color:#fff;padding:11px 20px;border-radius:4px;font-size:.88rem;font-weight:600;border:none;cursor:pointer}
.twc-read-more:hover,.twc-search-submit:hover{background:var(--twc-accent)}
.twc-sidebar{display:flex;flex-direction:column;gap:28px}
.twc-sidebar-block{padding:22px}
.twc-sidebar-title,.widget-title{margin:0 0 14px;font-family:"Playfair Display",serif;font-size:1.8rem;color:var(--twc-brown);font-style:italic;border-bottom:1px solid var(--twc-border);padding-bottom:10px}
.twc-simple-list{list-style:none;margin:0;padding:0}
.twc-simple-list li{position:relative;padding-left:18px;margin:10px 0;color:var(--twc-brown)}
.twc-simple-list li::before{content:"•";position:absolute;left:0;color:var(--twc-accent)}
.twc-single-article{padding:26px}
.twc-single-title{font-size:clamp(2rem,4vw,3.6rem);margin:10px 0}
.twc-single-meta{color:rgba(61,43,31,.72);margin-bottom:20px}
.twc-single-thumb{margin:0 0 26px;overflow:hidden;border-radius:4px}
.twc-single-thumb img{width:100%;height:auto}
.twc-single-content > *:first-child{margin-top:0}
.twc-single-content h2,.twc-single-content h3,.twc-single-content h4{font-family:"Playfair Display",serif;color:var(--twc-brown)}
.twc-inline-related{margin-top:28px;padding:22px}
.twc-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.twc-related-thumb{aspect-ratio:16/10;border-radius:4px;margin-bottom:10px}
.twc-related-item h3{margin:0;font-family:"Playfair Display",serif;font-size:1.25rem;line-height:1.25;color:var(--twc-brown)}
.twc-search-form{display:flex;gap:10px}
.twc-search-field{width:100%;padding:11px 12px;border:1px solid var(--twc-border);border-radius:4px;background:#fff}
.twc-ad-slot{margin:20px auto}
.twc-ad-placeholder{padding:22px;border:2px dashed rgba(139,69,19,.35);background:#fff7;text-align:center;color:var(--twc-brown);font-weight:700;text-transform:uppercase;letter-spacing:.12em}
.twc-footer{position:relative;margin-top:44px;padding:56px 0 24px;background:#1a1412 url("https://www.transparenttextures.com/patterns/wood-pattern.png");color:#fff;overflow:hidden}
.twc-footer-overlay{position:absolute;inset:0;background:rgba(0,0,0,.78)}
.twc-footer-inner{position:relative;z-index:1}
.twc-footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:42px;margin-top:30px}
.twc-footer-brand{margin:0 0 14px;font-family:"Playfair Display",serif;font-size:2rem;color:var(--twc-gold);font-style:italic}
.twc-footer-about{color:rgba(244,236,225,.72);max-width:430px}
.twc-socials{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.twc-socials a{padding:10px 12px;background:rgba(255,255,255,.06);border-radius:999px;font-size:.85rem}
.twc-socials a:hover,.twc-footer-links a:hover{color:var(--twc-gold)}
.twc-footer-heading{margin:0 0 14px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.1);font-family:"Playfair Display",serif;font-size:1.4rem;color:var(--twc-gold);font-style:italic}
.twc-footer-links{list-style:none;margin:0;padding:0}
.twc-footer-links li{margin:10px 0;color:rgba(244,236,225,.8)}
.twc-footer-bottom{margin-top:26px;padding-top:18px;border-top:1px solid rgba(255,255,255,.1);font-size:.82rem;color:rgba(244,236,225,.52);text-align:center}
.twc-pagination{margin-top:28px}
.twc-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 12px;background:#fff8;border:1px solid var(--twc-border);margin-right:8px;border-radius:4px}
.twc-pagination .current{background:var(--twc-accent);color:#fff;border-color:var(--twc-accent)}
.twc-no-thumb{width:100%;height:100%;min-height:220px;background:linear-gradient(135deg,#c6b49c,#8c6c4c)}
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);padding:0!important;border:0!important;height:1px!important;width:1px!important;overflow:hidden}
@media (max-width: 1000px){
  .twc-layout{grid-template-columns:1fr}
  .twc-featured-grid,.twc-post-grid,.twc-related-grid,.twc-footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width: 760px){
  .twc-menu{gap:16px;flex-wrap:wrap;justify-content:flex-end}
  .twc-header-inner{align-items:flex-start;padding:16px 0}
  .twc-featured-grid,.twc-post-grid,.twc-related-grid,.twc-footer-grid{grid-template-columns:1fr}
  .twc-section-header h2,.twc-home-title{font-size:2rem}
  .twc-post-title{font-size:1.45rem}
}


.twc-single-content a{color:var(--twc-accent);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px;font-weight:700;transition:color .2s ease, background-color .2s ease, box-shadow .2s ease}
.twc-single-content a:hover{color:#fff;background:var(--twc-accent);box-shadow:0 0 0 4px var(--twc-accent);text-decoration-color:transparent}
.twc-single-content a.twc-external-link::after{content:"↗";display:inline-block;margin-left:.3em;font-size:.85em;vertical-align:top}
.twc-inline-related-cta{margin:26px 0;padding:18px 20px;border-left:4px solid var(--twc-accent);background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(255,255,255,.96));border-radius:4px;box-shadow:var(--twc-shadow)}
.twc-inline-related-label{display:block;margin-bottom:10px;font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--twc-accent)}
.twc-inline-related-link{display:flex;gap:16px;align-items:center;justify-content:space-between;color:var(--twc-brown)!important;text-decoration:none!important}
.twc-inline-related-link strong{font-family:"Playfair Display",serif;font-size:1.25rem;line-height:1.25}
.twc-inline-related-button{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;padding:11px 16px;border-radius:4px;background:var(--twc-brown);color:#fff;font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.twc-inline-related-link:hover .twc-inline-related-button{background:var(--twc-accent)}
@media (max-width: 760px){.twc-inline-related-link{flex-direction:column;align-items:flex-start}.twc-inline-related-button{width:100%}}


/* stronger external link visibility */
.twc-single-content a.twc-external-link, .twc-single-content a[href^="http"]{color:var(--twc-accent)!important;text-decoration:underline!important;text-decoration-thickness:2px!important;text-underline-offset:3px!important;font-weight:800!important;background:rgba(139,69,19,.08);padding:0 .18em;border-radius:2px;box-shadow:inset 0 -1px 0 rgba(139,69,19,.18)}
.twc-single-content a.twc-external-link:hover, .twc-single-content a[href^="http"]:hover{color:#fff!important;background:var(--twc-accent)!important;box-shadow:0 0 0 4px rgba(139,69,19,.18)!important;text-decoration:none!important}
.twc-single-content .twc-inline-related-cta{display:block!important}
.twc-single-content .twc-inline-related-cta + p{margin-top:1.1em}


/* mobile header fix: keep logo from crowding navigation */
@media (max-width: 760px){
  .twc-header-inner{display:grid;grid-template-columns:1fr;align-items:center;gap:12px;padding:12px 0}
  .twc-logo-wrap{max-width:100%;display:flex;justify-content:center}
  .twc-logo-wrap .custom-logo-link{display:inline-flex;max-width:100%;justify-content:center}
  .twc-logo-wrap img{max-height:42px;width:auto;max-width:min(100%,220px)}
  .twc-text-logo{font-size:1.45rem;line-height:1.1;text-align:center;display:block;max-width:100%}
  .twc-nav{width:100%;min-width:0}
  .twc-menu{width:100%;display:flex;justify-content:center;gap:12px 14px;flex-wrap:wrap;padding-top:2px}
  .twc-menu li{min-width:0}
  .twc-menu a{font-size:.72rem;letter-spacing:.12em}
}
@media (max-width: 420px){
  .twc-logo-wrap img{max-height:36px;max-width:180px}
  .twc-text-logo{font-size:1.2rem}
  .twc-menu{gap:10px 12px}
  .twc-menu a{font-size:.68rem;letter-spacing:.1em}
}

/* mobile overflow fix */
html,body{max-width:100%;overflow-x:hidden}
.twc-site-shell{width:100%;max-width:100%;overflow-x:hidden}
.twc-header,.twc-breadcrumb-wrap,.twc-main,.twc-footer{max-width:100%;overflow-x:hidden}
.twc-breadcrumbs{flex-wrap:wrap;overflow-wrap:anywhere;word-break:break-word}
.twc-menu,.twc-footer-links,.twc-socials{min-width:0}
.twc-single-content,.twc-single-article,.twc-post-body,.twc-home-intro{overflow-wrap:anywhere;word-break:break-word}
iframe,table,pre,code,embed,object{max-width:100%}
@media (max-width: 760px){
  .twc-container{width:min(calc(100% - 24px),var(--twc-width))}
  .twc-header-inner,.twc-home-intro,.twc-single-article,.twc-sidebar-block,.twc-post-body,.twc-inline-related,.twc-inline-related-cta{min-width:0}
}
