:root {
  --cnc-bg: #ffffff;
  --cnc-paper: #f8f6f1;
  --cnc-ink: #171411;
  --cnc-muted: #9b948c;
  --cnc-line: #e4ded5;
  --cnc-orange: #ff7a00;
  --cnc-soft: #ebe5dc;
  --cnc-max: 1180px;
  --cnc-serif: Georgia, 'Times New Roman', serif;
  --cnc-sans: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; background:var(--cnc-bg); color:var(--cnc-ink); font-family:var(--cnc-sans); font-size:15px; line-height:1.55; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
.cnc-home-slideshow { position:relative; width:100%; min-height:760px; height:100vh; overflow:hidden; background:#111; }
.cnc-home-slideshow-inner { position:relative; width:100%; height:100%; min-height:inherit; overflow:hidden; }
.cnc-home-slideshow-inner > * { width:100%; height:100% !important; min-height:inherit !important; }
.cnc-home-slideshow img, .cnc-home-slideshow video, .cnc-home-slideshow iframe { max-width:100%; }
.cnc-home-slideshow img, .cnc-home-slideshow video { width:100% !important; height:100% !important; object-fit:cover !important; }
.cnc-home-slideshow [class*="slide"], .cnc-home-slideshow [class*="slider"], .cnc-home-slideshow [class*="slideshow"], .cnc-home-slideshow [class*="swiper"], .cnc-home-slideshow [class*="slick"], .cnc-home-slideshow .swiper, .cnc-home-slideshow .swiper-wrapper, .cnc-home-slideshow .swiper-slide, .cnc-home-slideshow .slick-list, .cnc-home-slideshow .slick-track, .cnc-home-slideshow .slick-slide { height:100% !important; min-height:inherit !important; }
.cnc-home-slideshow iframe { width:100% !important; height:100% !important; }
.cnc-home-slideshow .cnc-home-slideshow-empty { width:100%; height:100%; min-height:760px; display:flex; align-items:center; justify-content:center; color:#fff; font-family:var(--cnc-serif); font-size:34px; letter-spacing:.18em; text-transform:uppercase; background:#111; }
.screen-reader-text { position:absolute; left:-9999px; }
.cnc-site-header { position:absolute; top:0; left:0; width:100%; z-index:30; padding:42px 5.5vw 0; color:#fff; }
.cnc-hero-nav { position:relative; width:100%; display:grid; grid-template-columns:minmax(0,1fr) 230px minmax(0,1fr); align-items:center; gap:34px; }
.cnc-nav-side { display:flex; align-items:center; gap:54px; min-width:0; }
.cnc-nav-left { justify-content:flex-end; }
.cnc-nav-right { justify-content:flex-start; }
.cnc-nav-side a { font-family:var(--cnc-serif); font-size:13px; font-weight:600; letter-spacing:.42em; text-transform:uppercase; color:rgba(255,255,255,.92); text-shadow:0 2px 14px rgba(0,0,0,.42); transition:opacity .25s ease, transform .25s ease; white-space:nowrap; }
.cnc-nav-side a:hover { opacity:.72; transform:translateY(-1px); }
.cnc-center-logo { display:flex; justify-content:center; align-items:center; min-width:0; }
 .cnc-center-logo img { max-width:200px; max-height:86px; width:auto; height:auto; object-fit:contain; filter: drop-shadow(0 10px 22px rgba(0,0,0,.38)); }
.cnc-site-header.cnc-is-front .cnc-center-logo img { filter: brightness(0) invert(1) drop-shadow(0 10px 22px rgba(0,0,0,.38)); }
.cnc-mobile-toggle { display:none; width:40px; height:40px; border:0; background:rgba(255,255,255,.82); padding:9px; }
.cnc-mobile-toggle span { display:block; height:1px; background:#111; margin:6px 0; }
.cnc-mobile-menu { display:none; }
.cnc-hero-slider { position:relative; min-height:760px; height:100vh; overflow:hidden; background:#111; }
.cnc-slide { position:absolute; inset:0; background-size:cover; background-position:center; opacity:0; transform:scale(1.025); transition:opacity 900ms ease, transform 2500ms ease; }
.cnc-slide::before { content:""; position:absolute; inset:0; background:linear-gradient(to bottom, rgba(0,0,0,.20), rgba(0,0,0,.04) 34%, rgba(0,0,0,.24)); }
.cnc-slide.is-active { opacity:1; transform:scale(1); }
.cnc-slide-link { position:absolute; inset:0; display:flex; align-items:flex-end; justify-content:center; padding-bottom:42px; color:#fff; }
.cnc-slide-label { font-family:var(--cnc-serif); font-size:14px; letter-spacing:.46em; text-transform:uppercase; text-shadow:0 1px 9px rgba(0,0,0,.35); }
.cnc-slide-arrow { position:absolute; top:52%; transform:translateY(-50%); z-index:5; width:70px; height:70px; border:0; background:transparent; color:#fff; font-size:48px; font-family:var(--cnc-serif); cursor:pointer; opacity:.9; text-shadow:0 2px 12px rgba(0,0,0,.45); }
.cnc-slide-prev { left:5vw; }
.cnc-slide-next { right:5vw; }
.cnc-intro-section { max-width:760px; margin:0 auto; padding:86px 24px 52px; text-align:center; }
.cnc-kicker { margin:0 0 18px; color:#b7aea4; font-family:var(--cnc-sans); font-size:11px; letter-spacing:.32em; text-transform:uppercase; }
.cnc-intro-section h1 { margin:0; font-family:var(--cnc-serif); font-weight:400; font-size:34px; letter-spacing:.18em; text-transform:uppercase; color:#bcb6b0; }
.cnc-visual-grid { max-width:980px; margin:0 auto 90px; padding:0 24px; display:grid; grid-template-columns:1fr 1fr 1.08fr 1.08fr; grid-template-rows:160px 160px; gap:18px; }
.cnc-tile { position:relative; overflow:hidden; background:linear-gradient(135deg, #dad3ca, #f2eee8); min-height:160px; display:flex; align-items:center; justify-content:center; transition:transform .35s ease, opacity .35s ease; }
.cnc-tile::before { content:""; position:absolute; inset:0; background:linear-gradient(to bottom, rgba(0,0,0,.10), rgba(0,0,0,.32)); opacity:.65; transition:opacity .35s ease; }
.cnc-tile span { position:relative; z-index:1; font-family:var(--cnc-serif); font-size:26px; color:#fff; text-shadow:0 1px 12px rgba(0,0,0,.32); }
.cnc-tile:hover { transform:translateY(-3px); }
.cnc-tile:hover::before { opacity:.82; }
.cnc-tile-wide { grid-column:span 2; }
.cnc-tile-large { grid-column:span 2; grid-row:span 2; min-height:338px; }
.cnc-feature-section { max-width:980px; margin:0 auto 86px; padding:76px 96px; background:#fbfaf8; display:grid; grid-template-columns:1.4fr .75fr; align-items:center; gap:58px; }
.cnc-feature-card { position:relative; display:block; aspect-ratio:16/9; background:#ddd7ce; overflow:hidden; }
.cnc-feature-card img { width:100%; height:100%; object-fit:cover; }
.cnc-play { position:absolute; left:50%; top:50%; transform:translate(-50%, -50%); width:74px; height:74px; border-radius:50%; background:#fff; display:flex; align-items:center; justify-content:center; font-size:10px; letter-spacing:.24em; text-transform:uppercase; color:#5d554d; }
.cnc-feature-copy p { margin:0 0 20px; color:#b7aea4; font-size:10px; letter-spacing:.34em; text-transform:uppercase; }
.cnc-feature-copy h2 { margin:0; font-family:var(--cnc-serif); font-size:28px; font-weight:400; letter-spacing:.16em; text-transform:uppercase; color:#8e857b; }
.cnc-footer { background:#d9dde0; color:#777; padding:34px 24px; }
.cnc-footer-inner { max-width:980px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr 1fr; align-items:center; gap:18px; text-align:center; font-size:11px; letter-spacing:.28em; text-transform:uppercase; }
.cnc-footer-mark { color:#151515; font-family:var(--cnc-serif); font-size:18px; letter-spacing:.02em; text-transform:none; }
.cnc-to-top { justify-self:end; }
.cnc-archive-wrap, .cnc-content-page, .cnc-single-page { max-width:1100px; margin:0 auto; padding:150px 24px 90px; }
.cnc-page-title p, .cnc-post-meta, .cnc-single-header p { color:var(--cnc-orange); font-size:11px; letter-spacing:.28em; text-transform:uppercase; }
.cnc-page-title h1, .cnc-content-page h1, .cnc-single-header h1 { font-family:var(--cnc-serif); font-weight:400; font-size:54px; margin:0 0 42px; }
.cnc-post-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:36px; }
.cnc-post-thumb { display:block; aspect-ratio:4/5; background:#eee8df; overflow:hidden; margin-bottom:16px; }
.cnc-post-thumb img { width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }
.cnc-post-card:hover .cnc-post-thumb img { transform:scale(1.035); }
.cnc-post-card h2 { font-size:18px; line-height:1.2; margin:0 0 8px; }
.cnc-post-card p:not(.cnc-post-meta) { margin:0; color:#746c64; font-size:14px; }
.cnc-single-image { margin:0 0 40px; }
.cnc-single-image img { width:100%; height:auto; }
.cnc-entry-content { max-width:760px; font-size:18px; line-height:1.8; }
body:not(.home) .cnc-site-header { position:fixed; padding:18px 5.5vw; background:rgba(255,255,255,.92); color:#111; border-bottom:1px solid var(--cnc-line); backdrop-filter: blur(12px); }
body:not(.home) .cnc-nav-side a { color:#111; text-shadow:none; }
body:not(.home) .cnc-center-logo img { max-height:58px; filter:none; }
@media (max-width: 1240px) and (min-width: 981px) {
  .cnc-site-header { padding-left:3.5vw; padding-right:3.5vw; }
  .cnc-hero-nav { grid-template-columns:minmax(0,1fr) 190px minmax(0,1fr); gap:24px; }
  .cnc-nav-side { gap:32px; }
  .cnc-nav-side a { font-size:11px; letter-spacing:.34em; }
  .cnc-center-logo img { max-width:172px; max-height:76px; }
}
@media (max-width: 980px) {
  .cnc-site-header { padding:20px 22px; }
  .cnc-hero-nav { grid-template-columns:1fr auto; }
  .cnc-nav-side { display:none; }
  .cnc-center-logo { justify-content:flex-start; }
  .cnc-center-logo img { max-width:170px; max-height:70px; }
  .cnc-mobile-toggle { display:block; justify-self:end; }
  .cnc-mobile-menu.is-open { display:block; margin-top:16px; background:rgba(255,255,255,.96); padding:18px; }
  .cnc-mobile-menu ul { list-style:none; margin:0; padding:0; }
  .cnc-mobile-menu a { display:block; padding:10px 0; color:#111; text-transform:uppercase; letter-spacing:.18em; font-size:12px; }
  .cnc-hero-slider, .cnc-home-slideshow { height:78vh; min-height:560px; }
  .cnc-visual-grid { grid-template-columns:1fr 1fr; grid-template-rows:auto; }
  .cnc-tile-wide, .cnc-tile-large { grid-column:span 2; grid-row:auto; }
  .cnc-feature-section { grid-template-columns:1fr; padding:36px 24px; }
  .cnc-post-grid { grid-template-columns:repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .cnc-hero-slider, .cnc-home-slideshow { height:74vh; min-height:500px; }
  .cnc-slide-arrow { width:48px; height:48px; font-size:34px; }
  .cnc-slide-prev { left:18px; }
  .cnc-slide-next { right:18px; }
  .cnc-intro-section { padding:58px 22px 36px; }
  .cnc-intro-section h1 { font-size:24px; letter-spacing:.12em; }
  .cnc-visual-grid { grid-template-columns:1fr; gap:14px; }
  .cnc-tile-wide, .cnc-tile-large { grid-column:auto; min-height:190px; }
  .cnc-feature-section { margin-bottom:50px; }
  .cnc-footer-inner { grid-template-columns:1fr; }
  .cnc-to-top { justify-self:center; }
  .cnc-post-grid { grid-template-columns:1fr; }
  .cnc-page-title h1, .cnc-content-page h1, .cnc-single-header h1 { font-size:36px; }
}

/* v1.1.0 — category mosaic + secondary modules */
.cnc-category-mosaic {
  max-width: 980px;
  margin: 0 auto 34px;
  padding: 0 24px;
  display: grid;
  grid-template-columns: 1fr 1fr 1.08fr 1.08fr;
  grid-template-rows: 160px 160px;
  gap: 18px;
}
.cnc-category-tile {
  position: relative;
  overflow: hidden;
  min-height: 160px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #d8d0c6;
  background-image: linear-gradient(135deg, #d8d0c6, #f3eee7);
  background-size: cover;
  background-position: center;
  transition: transform .38s ease, filter .38s ease;
}
.cnc-category-tile::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(to bottom, rgba(0,0,0,.08), rgba(0,0,0,.34)),
    rgba(185,176,166,.28);
  transition: opacity .38s ease, background .38s ease;
}
.cnc-category-tile span {
  position: relative;
  z-index: 1;
  color: #fff;
  font-family: var(--cnc-serif);
  font-size: 27px;
  font-weight: 400;
  letter-spacing: .01em;
  text-shadow: 0 2px 16px rgba(0,0,0,.34);
  text-align: center;
}
.cnc-category-tile:hover {
  transform: translateY(-3px);
  filter: saturate(1.02);
}
.cnc-category-tile:hover::before {
  background:
    linear-gradient(to bottom, rgba(0,0,0,.02), rgba(0,0,0,.42)),
    rgba(185,176,166,.16);
}
.cnc-category-wide { grid-column: span 2; }
.cnc-category-large { grid-column: span 2; grid-row: span 2; min-height: 338px; }
.cnc-home-actions {
  max-width: 980px;
  margin: 0 auto 92px;
  padding: 0 24px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}
.cnc-home-action {
  min-height: 158px;
  padding: 34px 38px;
  border: 1px solid var(--cnc-line);
  background: #fbfaf8;
  display: flex;
  flex-direction: column;
  justify-content: center;
  transition: transform .32s ease, background .32s ease, border-color .32s ease;
}
.cnc-home-action small {
  display: block;
  margin-bottom: 12px;
  color: var(--cnc-orange);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .32em;
  text-transform: uppercase;
}
.cnc-home-action strong {
  display: block;
  margin-bottom: 8px;
  color: var(--cnc-ink);
  font-family: var(--cnc-serif);
  font-size: 28px;
  font-weight: 400;
  line-height: 1.1;
}
.cnc-home-action span {
  max-width: 430px;
  color: #756d65;
  font-size: 14px;
  line-height: 1.55;
}
.cnc-home-action:hover {
  transform: translateY(-3px);
  border-color: #d3c9be;
  background: #fff;
}
@media (max-width: 980px) {
  .cnc-category-mosaic { grid-template-columns: 1fr 1fr; grid-template-rows: auto; }
  .cnc-category-wide, .cnc-category-large { grid-column: span 2; grid-row: auto; }
  .cnc-home-actions { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .cnc-category-mosaic { grid-template-columns: 1fr; gap: 14px; margin-bottom: 22px; }
  .cnc-category-wide, .cnc-category-large { grid-column: auto; min-height: 190px; }
  .cnc-home-actions { margin-bottom: 58px; gap: 14px; }
  .cnc-home-action { padding: 28px 24px; min-height: 142px; }
}
