/* TCOC shared styles — final build */
:root{
  --bg:#ffffff;
  --text:#1b1f21;
  --muted:#566063;
  --border:rgba(27,31,33,.12);
  --shadow:0 12px 30px rgba(0,0,0,.08);

  --sea-glass:#AAB9B6;
  --sandstone:#CDC6B6;
  --olive:#8E9B89;
  --seafoam:#D1E5E6;

  --max:1100px;
  --radius:18px;

  --serif: ui-serif, Iowan Old Style, Palatino, "Palatino Linotype", "Book Antiqua", Georgia, serif;
  --sans: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
}

*{box-sizing:border-box}
html{color-scheme:light; scroll-behavior:smooth}
body{margin:0; font-family:var(--sans); color:var(--text); background:var(--bg); line-height:1.55}
img{max-width:100%; height:auto}

a{color:inherit; text-decoration-thickness: .08em; text-underline-offset:.18em}
a:hover{text-decoration-thickness:.12em}

.container{max-width:var(--max); margin-inline:auto; padding-inline:18px}
.section{padding:56px 0}
@media (min-width: 900px){.section{padding:76px 0}}

.h1,.h2,.h3{font-family:var(--serif); letter-spacing:-.02em; line-height:1.15; margin:0 0 12px}
.h1{font-size:clamp(32px,5vw,52px)}
.h2{font-size:clamp(26px,3.6vw,38px)}
.h3{font-size:clamp(20px,2.6vw,26px)}
.lede{font-size:clamp(16px,2.2vw,19px); color:var(--muted); margin:0}
.small{font-size:14px; color:var(--muted)}

.btn{display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:12px 16px; border-radius:999px; border:1px solid var(--border);
  background:#fff; box-shadow:0 6px 18px rgba(0,0,0,.06); text-decoration:none; font-weight:650}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.btn.primary{background:linear-gradient(180deg, var(--seafoam), #fff); border-color:rgba(142,155,137,.35)}
.btn.ghost{background:transparent; box-shadow:none}

.card{border:1px solid var(--border); border-radius:var(--radius); padding:18px; background:#fff; box-shadow:0 10px 26px rgba(0,0,0,.05)}
.grid{display:grid; gap:18px}
@media (min-width: 900px){.grid.cols-3{grid-template-columns:repeat(3,1fr)} .grid.cols-2{grid-template-columns:repeat(2,1fr)}}

.header{position:sticky; top:0; z-index:40; background:rgba(255,255,255,.82); backdrop-filter:saturate(1.4) blur(10px); border-bottom:1px solid var(--border)}
.header-inner{display:flex; align-items:center; justify-content:space-between; padding:12px 0; gap:14px}
.brand{display:flex; align-items:center; gap:12px; text-decoration:none}
.brand img{width:150px; height:auto}
.nav{display:none; gap:18px; align-items:center}
.nav a{font-weight:600; color:var(--muted); text-decoration:none; display:inline-flex; align-items:center; padding:10px 6px; min-height:44px}
.nav a[aria-current="page"]{color:var(--text)}
@media (min-width: 900px){.nav{display:flex}}

.mobile-nav{display:flex; gap:10px; align-items:center}
@media (min-width: 900px){.mobile-nav{display:none}}

.hero{padding:32px 0 10px}
.hero-wrap{display:grid; gap:18px}
@media (min-width: 900px){.hero-wrap{grid-template-columns:1.1fr .9fr; align-items:center; gap:26px}}
.hero-media{border-radius:calc(var(--radius) + 8px); overflow:hidden; border:1px solid var(--border); box-shadow:var(--shadow); background:#f6f7f7}
.hero-media img{display:block; width:100%; height:auto}

.badges{display:flex; flex-wrap:wrap; gap:10px; margin-top:14px}
.badge{display:inline-flex; gap:8px; align-items:center; padding:8px 10px; border-radius:999px; border:1px solid var(--border); background:#fff; font-size:13px; color:var(--muted)}
.badge strong{color:var(--text)}

.footer{border-top:1px solid var(--border); padding:34px 0}
.footer-grid{display:grid; gap:18px}
@media (min-width: 900px){.footer-grid{grid-template-columns:1.3fr 1fr 1fr}}

.sticky-cta{position:fixed; left:0; right:0; bottom:0; padding:12px 14px;
  background:rgba(255,255,255,.92); border-top:1px solid var(--border);
  transform:translateY(110%); transition:transform .25s ease; z-index:50}
.sticky-cta.show{transform:translateY(0)}
.sticky-cta .container{display:flex; align-items:center; justify-content:space-between; gap:12px}

.form{display:grid; gap:14px}
.field{display:grid; gap:6px}
label{font-weight:650}
input, select, textarea{font:inherit; padding:12px 12px; border:1px solid var(--border); border-radius:12px; background:#fff}
textarea{min-height:140px; resize:vertical}
.help{font-size:13px; color:var(--muted)}

.accordion button{width:100%; text-align:left; padding:14px 14px; border-radius:14px; border:1px solid var(--border); background:#fff; font:inherit; font-weight:650; cursor:pointer}
.accordion button:hover{background:rgba(209,229,230,.15)}
.accordion .panel{padding:0 14px 14px; color:var(--muted)}

/* accessibility */
.skip{position:absolute; left:-999px; top:auto; width:1px; height:1px; overflow:hidden}
.skip:focus{left:18px; top:12px; width:auto; height:auto; padding:10px 12px; background:#fff; border:1px solid var(--border); border-radius:12px; z-index:100}
