/* Cass&Co — site styles
   Colors: Paper #F3F2F2 · Linen #EAE9E9 · Antique Gold #B68235 · Ink #201F1D · near-black #171614
   ------------------------------------------------------------------
   FONTS: this file expects Cormorant Garamond + Lora.
   By default index.html loads them from Google Fonts.
   To self-host instead: see README.txt, drop the .woff2 files into
   site/fonts/, then delete the Google <link> in index.html and
   uncomment the @font-face block below.
   ------------------------------------------------------------------ */

/*
@font-face { font-family:'Cormorant Garamond'; font-style:normal; font-weight:300; font-display:swap; src:url('fonts/cormorant-garamond-300.woff2') format('woff2'); }
@font-face { font-family:'Cormorant Garamond'; font-style:normal; font-weight:400; font-display:swap; src:url('fonts/cormorant-garamond-400.woff2') format('woff2'); }
@font-face { font-family:'Cormorant Garamond'; font-style:normal; font-weight:600; font-display:swap; src:url('fonts/cormorant-garamond-600.woff2') format('woff2'); }
@font-face { font-family:'Lora'; font-style:normal; font-weight:400; font-display:swap; src:url('fonts/lora-400.woff2') format('woff2'); }
@font-face { font-family:'Lora'; font-style:normal; font-weight:600; font-display:swap; src:url('fonts/lora-600.woff2') format('woff2'); }
@font-face { font-family:'Lora'; font-style:italic; font-weight:400; font-display:swap; src:url('fonts/lora-400-italic.woff2') format('woff2'); }
*/

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0; background: #f3f2f2; color: #201f1d;
  font-family: "Lora", Georgia, serif; font-size: 16px; line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; display: block; }
a { color: #7d5411; text-underline-offset: 3px; }
a:hover { color: #b68235; }
:focus-visible { outline: 2px solid #b68235; outline-offset: 2px; }
::selection { background: rgba(182,130,53,0.28); }

/* Buttons — Classical: outlined, never filled */
.btn {
  display: inline-flex; align-items: center; justify-content: center;
  font-family: "Cormorant Garamond", Georgia, serif; font-weight: 600;
  padding: 11px 20px; border: 1px solid #b68235; border-radius: 4px;
  background: transparent; color: #7d5411; text-decoration: none;
  cursor: pointer; transition: background-color .18s ease, border-color .18s ease, color .18s ease;
}
.btn:hover { background: rgba(182,130,53,0.10); color: #7d5411; }
.btn:active { background: rgba(182,130,53,0.18); }
.btn-secondary { border-color: rgba(32,31,29,0.32); color: #201f1d; }
.btn-secondary:hover { background: rgba(32,31,29,0.06); color: #201f1d; }

/* Hero motion */
@keyframes cc-sheer-left {
  0%   { transform: translateX(0) skewY(0deg) scaleX(1); }
  35%  { transform: translateX(14px) skewY(0.7deg) scaleX(1.05); }
  60%  { transform: translateX(4px) skewY(-0.4deg) scaleX(0.98); }
  100% { transform: translateX(0) skewY(0deg) scaleX(1); }
}
@keyframes cc-sheer-right {
  0%   { transform: translateX(0) skewY(0deg) scaleX(1); }
  40%  { transform: translateX(-18px) skewY(-0.8deg) scaleX(1.06); }
  70%  { transform: translateX(-6px) skewY(0.5deg) scaleX(0.99); }
  100% { transform: translateX(0) skewY(0deg) scaleX(1); }
}
@keyframes cc-light { 0%,100% { opacity: 0.10; } 50% { opacity: 0.24; } }
@media (prefers-reduced-motion: reduce) { [data-cc-anim] { animation: none !important; } }

[data-tag-break] { display: none; }
@media (max-width: 1000px) {
  [data-nav] { flex-wrap: wrap; }
  [data-tag-break] { display: inline; }
  [data-tag-sep] { display: none; }
  [data-burger] { display: flex !important; }
  [data-nav-links] { display: none !important; }
  #cc-menu:checked ~ [data-nav-links] {
    display: flex !important; flex-direction: column; align-items: flex-start;
    width: 100%; gap: 4px !important; font-size: 14px !important;
    margin-top: 12px; padding-top: 14px; border-top: 1px solid rgba(32,31,29,0.16);
  }
  #cc-menu:checked ~ [data-nav-links] > a { padding: 11px 0; }
  #cc-menu:checked ~ [data-nav-links] > a.btn { margin-top: 10px; padding: 12px 26px; }
}
@media (max-width: 760px) {
  [data-forced-break] br { display: none; }
  [data-forced-break] { width: auto !important; max-width: 100% !important; }
  [data-hero] [data-pad], [data-hero] [data-pad] > div { min-width: 0; }
  #services p, #about p { text-align: left !important; hyphens: manual !important; }
  [data-eyebrow] { white-space: normal !important; letter-spacing: 0.2em !important; }
  [data-nav] { flex-wrap: wrap; gap: 0 14px !important; padding-left: 22px !important; padding-right: 22px !important; }
  [data-pad] { padding-left: 22px !important; padding-right: 22px !important; }
  [data-pad-y] { padding-top: 64px !important; padding-bottom: 64px !important; }
  [data-one-col] { grid-template-columns: 1fr !important; gap: 36px !important; }
  [data-hero] { height: auto !important; min-height: 0 !important; padding-top: 76px !important; padding-bottom: 76px !important; }
}
