/* =========================================================================
   Tanya Cardenas Workshop — main stylesheet
   Editorial single-page landing. Light cream ground, deep-green ink & accent,
   Cormorant Garamond (display serif) + Inter (sans).
   Type scale tuned to match the approved design.
   ========================================================================= */

:root {
	--cream:      #f7f4ed;
	--panel:      #ece7db;
	--panel-2:    #e5e0d2;   /* investment feature card */
	--green:      #1f3d2d;   /* headings, buttons */
	--green-deep: #14352a;   /* reserve section */
	--ink:        #3a3f34;   /* body text */
	--ink-soft:   #4a4f43;
	--muted:      #8b8270;   /* kickers / labels */
	--line:       rgba(31, 61, 45, 0.18);
	--line-soft:  rgba(31, 61, 45, 0.10);
	--cream-line: rgba(247, 244, 237, 0.28);

	--serif: "Cormorant Garamond", Georgia, "Times New Roman", serif;
	--sans:  "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;

	--wrap:  1550px;
	--gutter: clamp(20px, 5.6vw, 88px);
}

/* ------------------------------------------------------------------ reset */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
	margin: 0;
	background: var(--cream);
	color: var(--ink);
	font-family: var(--sans);
	font-size: 18px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
h1, h2, h3 { margin: 0; font-weight: 400; }
p { margin: 0; }
ul, ol, dl { margin: 0; padding: 0; list-style: none; }

/* ------------------------------------------------------------- structure */
.tcw-wrap {
	width: 100%;
	max-width: var(--wrap);
	margin-inline: auto;
	padding-inline: 0;
}
.tcw-section { padding-block: clamp(60px, 8vw, 120px); position: relative; }
.tcw-section--cream { background: var(--cream); padding-top: 0; }
.tcw-section--panel { background: var(--cream); }
.tcw-section--flush { padding-block: 0; }
/* boxed panel treatment for flush panel sections */
.tcw-section--panel.tcw-section--flush {
	background: #f0ede4;
	margin-bottom: 100px;
	padding-top: 100px;
	padding-bottom: 100px;
}
/* boxed section (full-bleed #f0ede4 band) */
.tcw-section--boxed {
	background: #f0ede4;
	padding-top: 100px;
	padding-bottom: 100px;
	margin-bottom: 100px;
}
/* per-section spacing overrides */
section#why-tanya { padding-top: 100px; }
section#the-details { padding-top: 0; }
section#the-experience {
	border-bottom: 1px solid #c4c4c4;
	padding-bottom: 60px;
	margin-bottom: 100px;
}
.tcw-center { text-align: center; }
.tcw-measure { max-width: 60ch; margin-inline: auto; }

/* --------------------------------------------------------------- typography */
.tcw-eyebrow {
	font-family: var(--sans);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--muted);
	margin: 0 0 1.6em;
}
.tcw-eyebrow--light { color: rgba(247, 244, 237, 0.72); }

/* numbered kicker: 01  Label  ———— */
.tcw-kicker {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 0 0 clamp(28px, 4vw, 52px);
	font-family: var(--sans);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}
.tcw-kicker__num { color: var(--ink); font-weight: 700; }
.tcw-kicker__label { color: var(--muted); }
.tcw-kicker__rule { width: clamp(28px, 4vw, 52px); height: 1px; background: var(--muted); opacity: 0.6; }

.tcw-h2 {
	font-family: var(--serif);
	font-weight: 500;
	font-size: clamp(40px, 4.7vw, 77px);
	line-height: 1.02;
	letter-spacing: 0;
	color: var(--green);
}
.tcw-h2--display { font-weight: 500; font-size: clamp(42px, 5.1vw, 83px); }

.tcw-h3--serif {
	font-family: var(--serif);
	font-weight: 500;
	font-size: clamp(29px, 2.8vw, 50px);
	line-height: 1.12;
	letter-spacing: 0;
	color: var(--green);
	margin: 0 0 0.7em;
}
.tcw-h3--lg { font-size: clamp(31px, 3.2vw, 44px); }

.tcw-daylabel {
	font-family: var(--sans);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--muted);
	margin: 0 0 1.2em;
}

.tcw-body {
	font-size: clamp(16px, 1.3vw, 25px);
	line-height: 1.66;
	color: var(--ink);
	max-width: 100%;
}
.tcw-body + .tcw-body { margin-top: 1.15em; }
.tcw-pull + .tcw-body { margin-top: 1.15em; }
.tcw-h2 + .tcw-body,
.tcw-h2 + .tcw-pull { margin-top: 1.4em; }

.tcw-pull {
	font-family: var(--serif);
	font-style: italic;
	font-weight: 500;
	font-size: clamp(22px, 2.2vw, 31px);
	line-height: 1.36;
	color: var(--green);
	margin-top: 1.1em;
}
.tcw-pull--sm { font-size: clamp(20px, 2vw, 39px); padding-right: 30px; }

.tcw-statement {
	font-family: var(--serif);
	font-weight: 500;
	font-size: clamp(25px, 2.7vw, 44px);
	line-height: 1.28;
	letter-spacing: 0;
	color: var(--green);
	max-width: 100%;
	margin: clamp(40px, 5vw, 72px) auto 0;
	border-top: 2px solid #c4c4c4;
	padding-top: 60px;
}
.tcw-statement--left { margin-left: 0; text-align: left; max-width: 100%; }

.tcw-fineprint { font-size: 14px; color: var(--muted); margin-top: 1.4em; }

/* ------------------------------------------------------------------ button */
.tcw-btn {
	display: inline-block;
	font-family: var(--sans);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--cream);
	background: var(--green);
	padding: 17px 34px;
	border: 1px solid var(--green);
	transition: background 0.25s ease, color 0.25s ease;
}
.tcw-btn:hover { background: transparent; color: var(--green); }
.tcw-btn--outline { color: var(--cream); background: transparent; border-color: var(--cream-line); }
.tcw-btn--outline:hover { background: var(--cream); color: var(--green-deep); border-color: var(--cream); }
.tcw-btn--block { display: block; width: 100%; text-align: center; padding-block: 20px; }

.tcw-textlink {
	font-family: var(--sans);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--green);
	padding-bottom: 6px;
	border-bottom: 1px solid var(--line);
	align-self: center;
}
.tcw-textlink:hover { border-color: var(--green); }

/* ----------------------------------------------------------- shared 2-col */
.tcw-two {
	display: grid;
	grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
	gap: clamp(32px, 7vw, 110px);
	align-items: start;
}
.tcw-two--even { grid-template-columns: 1fr 1fr; }

/* section-specific column ratios (match design) */
.tcw-change__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(36px, 5vw, 84px); }
.tcw-details__grid { grid-template-columns: minmax(0, 0.5fr) minmax(0, 1.1fr); gap: clamp(36px, 6vw, 104px); }
.tcw-why__grid { grid-template-columns: minmax(0, 0.82fr) minmax(0, 1fr); gap: clamp(36px, 8vw, 140px); }

/* ===================================================================
   HEADER
   =================================================================== */
.tcw-header { background: var(--cream); position: relative; z-index: 20; }
.tcw-header__bar {
	max-width: var(--wrap);
	margin-inline: auto;
	padding: 22px var(--gutter);
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	border-bottom: 1px solid var(--line-soft);
}
.tcw-brand { display: inline-flex; align-items: center; gap: 16px; }
.tcw-logo-mark { display: inline-flex; }
.tcw-brand__divider { width: 1px; height: 40px; background: var(--line); }
.tcw-brand__text { display: flex; flex-direction: column; gap: 3px; }
.tcw-brand__name {
	font-family: var(--serif);
	font-weight: 500;
	font-size: 25px;
	line-height: 1;
	color: var(--green);
}
.tcw-brand__sub {
	font-family: var(--sans);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	color: var(--muted);
}
.tcw-nav { border-bottom: 1px solid var(--line-soft); }
.tcw-nav__inner { max-width: var(--wrap); margin-inline: auto; padding: 0 var(--gutter); }
.tcw-nav__list {
	display: flex;
	justify-content: center;
	gap: clamp(28px, 6vw, 88px);
	padding: 18px 0;
}
.tcw-nav__list a {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--ink-soft);
	transition: color 0.2s ease;
}
.tcw-nav__list a:hover { color: var(--green); }

.tcw-nav-toggle {
	display: none;
	position: absolute;
	right: var(--gutter);
	top: 50%;
	transform: translateY(-50%);
	flex-direction: column;
	gap: 4px;
	width: 30px;
	padding: 6px 2px;
	background: none;
	border: 0;
	cursor: pointer;
}
.tcw-nav-toggle span { display: block; height: 1.5px; width: 100%; background: var(--green); transition: transform 0.3s, opacity 0.3s; }
.tcw-nav-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(5.5px) rotate(45deg); }
.tcw-nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.tcw-nav-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-5.5px) rotate(-45deg); }

/* ===================================================================
   HERO
   =================================================================== */
.tcw-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.42fr) minmax(0, 0.98fr);
	gap: clamp(32px, 6vw, 90px);
	align-items: start;
	padding-left: 0 !important;
	padding: clamp(40px, 6vw, 84px);
	padding-right: 0;
}
.tcw-hero__text { padding-top: 0; }
.tcw-hero__title {
	font-family: var(--serif);
	font-weight: 500;
	font-size: clamp(46px, 6.4vw, 98px);
	line-height: 0.98;
	letter-spacing: -0.006em;
	color: var(--green);
	margin: 0.28em 0 0;
}

.tcw-hero__text h2{
    margin-bottom: 0.28em;
	font-family: var(--serif);
	font-size: clamp(30px, 5vw, 53px) ;

}
.tcw-hero__lede {
	font-size: clamp(16px, 1.45vw, 20px);
	line-height: 1.55;
	color: var(--ink);
	max-width: 44ch;
	margin-bottom: 2.4em;
}
.tcw-hero__actions { display: flex; align-items: center; gap: clamp(20px, 3vw, 40px); margin-bottom: 2.4em; }
.tcw-hero__note {
	font-family: var(--serif);
	font-style: italic;
	font-weight: 500;
	font-size: clamp(18px, 1.7vw, 23px);
	color: var(--ink-soft);
	max-width: 100%;
}

.tcw-hero__figure { margin: 0; border: 1px solid var(--line); padding: clamp(10px, 1vw, 14px); }
.tcw-hero__media {
	position: relative;
	aspect-ratio: 4 / 4.6;
	background: #d9d2c2;
	overflow: hidden;
}
.tcw-hero__media img { width: 100%; height: 100%; object-fit: cover; }
.tcw-hero__ph {
	position: absolute; inset: 0;
	display: flex; align-items: center; justify-content: center;
	font-size: 11px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase;
	color: rgba(31, 61, 45, 0.38);
}
.tcw-hero__cap {
	display: flex; justify-content: space-between; align-items: baseline; gap: 12px;
	margin-top: clamp(10px, 1vw, 16px);
	font-size: 10.5px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase;
	color: var(--muted);
}
.tcw-hero__cap em { font-family: var(--serif); font-weight: 500; font-style: italic; font-size: 18px; letter-spacing: 0; text-transform: none; color: var(--ink-soft); }

/* meta bar */
.tcw-metabar {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	border-top: 1px solid var(--line);
	border-bottom: 1px solid var(--line);
}
.tcw-metabar li {
	padding: 22px clamp(16px, 2vw, 30px);
	font-size: 12px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase;
	color: var(--ink-soft); line-height: 1.5;
}
.tcw-metabar li:nth-child(2) { text-align: center; border-left: 1px solid var(--line); border-right: 1px solid var(--line); }
.tcw-metabar li:nth-child(3) { text-align: right; }

/* ===================================================================
   LISTS
   =================================================================== */
.tcw-checklist li {
	position: relative;
	padding: 17px 0 17px 28px;
	border-top: 1px solid var(--line);
	font-size: 21px; line-height: 1.5; color: var(--ink);
}
.tcw-checklist li:last-child { border-bottom: 1px solid var(--line); }
.tcw-checklist li::before {
	content: "";
	position: absolute; left: 2px; top: 27px;
	width: 4px; height: 4px; border-radius: 50%; background: var(--muted);
}

.tcw-plainlist li {
	padding: 28px 0;
	border-top: 1px solid var(--line);
	font-size: 23px; line-height: 1.5; color: var(--ink);
}
.tcw-plainlist li:last-child { border-bottom: 1px solid var(--line); }

/* ===================================================================
   TESTIMONIALS
   =================================================================== */
.tcw-testimonial {
	max-width: 760px; margin: clamp(36px, 5vw, 60px) auto 0; text-align: center;
}
.tcw-testimonial__quote {
	font-family: var(--serif); font-style: italic; font-weight: 500;
	font-size: clamp(20px, 2vw, 28px); line-height: 1.4; color: var(--ink);
}
.tcw-testimonial__quote::before { content: "\201C"; }
.tcw-testimonial__quote::after { content: "\201D"; }
.tcw-testimonial__author {
	margin-top: 0.8em; font-size: 13px; font-weight: 600; letter-spacing: 0.12em;
	text-transform: uppercase; color: var(--muted);
}
.tcw-testimonials {
	max-width: 900px; margin: clamp(36px, 5vw, 60px) auto 0;
	display: grid; gap: clamp(28px, 3.4vw, 44px);
}
.tcw-testimonials .tcw-testimonial { margin: 0; max-width: none; }

/* ===================================================================
   SOLUTION inset box
   =================================================================== */
.tcw-solution {
	display: grid;
	grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
	gap: clamp(28px, 5vw, 80px);
	background: #f0ede4;
	padding: clamp(32px, 4.5vw, 64px);
	align-items: start;
}
.tcw-solution__title { font-size: clamp(30px, 3.4vw, 53px); }
.tcw-solution__body .tcw-body { max-width: 62ch; }

/* ===================================================================
   SHADOW
   =================================================================== */
.tcw-shadow__title { margin-bottom: clamp(40px, 5vw, 72px); }
.tcw-shadow__cols .tcw-body { max-width: none; }

/* ===================================================================
   FORMULA
   =================================================================== */
.tcw-formula__eyebrow { margin: 1.4em 0 2.4em; }
.tcw-equation {
	display: flex; flex-wrap: wrap; align-items: baseline; justify-content: center;
	gap: clamp(10px, 1.6vw, 22px);
	margin: clamp(44px, 6vw, 84px) 0 clamp(30px, 4vw, 48px);
	font-family: var(--serif);
	font-size: clamp(26px, 3.1vw, 45px);
	font-weight: 500;
	color: var(--green);
}
.tcw-equation i { font-style: normal; color: var(--muted); font-size: 0.8em; font-weight: 400; }
.tcw-equation em { font-style: italic; }

.tcw-formula {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	border-top: 1px solid var(--line);
	border-bottom: 1px solid var(--line);
}
.tcw-formula__step { padding: 26px 20px; text-align: center; }
.tcw-formula__step + .tcw-formula__step { border-left: 1px solid var(--line); }
.tcw-formula__name {
	display: block; font-size: 14px; font-weight: 600; letter-spacing: 0.16em;
	text-transform: uppercase; color: #000000; margin-bottom: 0.3em;
}
.tcw-formula__desc {
	display: block; font-family: var(--serif); font-weight: 500;
	font-size: clamp(20px, 2vw, 35px); color: var(--green);
}

/* ===================================================================
   EXPERIENCE
   =================================================================== */
.tcw-exp__head { align-items: start; margin-bottom: clamp(36px, 5vw, 60px); }
.tcw-exp__head .tcw-body { max-width: 26ch; }
.tcw-exp__cols { padding-top: clamp(28px, 3.5vw, 48px); border-top: 1px solid var(--line); }
.tcw-exp__col { position: relative; }
.tcw-exp__cols .tcw-exp__col:last-child { padding-left: clamp(0px, 3vw, 48px); border-left: 1px solid var(--line); }
.tcw-exp__cols.tcw-two--even { gap: clamp(32px, 5vw, 80px); }
.tcw-exp__col .tcw-body { max-width: none; }
/* day titles wrap to two lines like the design */
.tcw-exp__col .tcw-h3--serif { max-width: 8.5em; }

/* ===================================================================
   BEGIN
   =================================================================== */
.tcw-begin__cols { margin-top: clamp(32px, 4vw, 56px); gap: clamp(32px, 6vw, 96px); }

/* ===================================================================
   INVEST box
   =================================================================== */
.tcw-invest__grid { align-items: start; }
.tcw-box { border: 1px solid var(--line); padding: clamp(26px, 3vw, 44px); }
.tcw-box__title {
	font-size: 12px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase;
	color: var(--muted); margin-bottom: 0.4em;
}
.tcw-box .tcw-checklist li:first-child { border-top: 0; }
.tcw-box .tcw-checklist li:first-child::before { top: 17px; }

/* ===================================================================
   RECEIVE
   =================================================================== */
.tcw-receive__cols { gap: clamp(32px, 5vw, 80px); }
.tcw-receive__col:last-child { padding-left: clamp(0px, 3vw, 48px); border-left: 1px solid var(--line); }
.tcw-receive__col .tcw-body { max-width: none; }

/* ===================================================================
   INTEGRATION
   =================================================================== */
.tcw-integration {
	display: grid;
	grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
	gap: clamp(28px, 5vw, 80px);
	border: 1px solid var(--line);
	padding: clamp(32px, 4.5vw, 64px);
	align-items: start;
}
.tcw-integration__title { font-weight: 500; }
.tcw-integration__body .tcw-body { max-width: none; }

/* ===================================================================
   WHY TANYA
   =================================================================== */
.tcw-why__lede {
	font-family: var(--serif); font-style: unset; font-weight: 500;
	font-size: clamp(25px, 2.9vw, 56px); line-height: 1.28; color: var(--green);
	margin-top: 0.6em; max-width: 100%;
}
.tcw-why__label { margin-bottom: 1.8em; }
.tcw-why__grid .tcw-two__main .tcw-body { max-width: 54ch; }

/* ===================================================================
   DETAILS
   =================================================================== */
.tcw-details__place {
	font-family: var(--serif); font-size: clamp(22px, 2.3vw, 30px); font-weight: 500;
	color: var(--ink); margin-top: 0.9em; line-height: 1.32;
}
.tcw-details__place em { font-style: italic; color: var(--green); }
.tcw-deflist__row {
	display: grid; grid-template-columns: minmax(130px, 0.32fr) 1fr; gap: 24px;
	padding: 24px 0; border-top: 1px solid var(--line);
}
.tcw-deflist__row:last-child { border-bottom: 1px solid var(--line); }
.tcw-deflist dt {
	font-size: 16px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase;
	color: var(--muted); padding-top: 3px;
}
.tcw-deflist dd { margin: 0; font-size: 23px; color: var(--ink); line-height: 1.55; }

/* ===================================================================
   INVESTMENT
   =================================================================== */
.tcw-price {
	display: grid; grid-template-columns: 1fr;
	max-width: 940px; margin: clamp(40px, 5vw, 68px) auto clamp(30px, 4vw, 48px);
	border: 1px solid var(--line);
}
.tcw-price__card { padding: clamp(30px, 4vw, 52px) 24px; text-align: center; }
.tcw-price__card + .tcw-price__card { border-left: 1px solid var(--line); }
.tcw-price__card--feature { background: var(--panel-2); }
.tcw-price__label {
	font-size: 11px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase;
	color: var(--muted); margin-bottom: 1.8em;
}
.tcw-price__amount {
	font-family: var(--serif); font-weight: 500; font-size: clamp(50px, 5.8vw, 84px);
	line-height: 1; color: var(--green); letter-spacing: 0;
}
.tcw-price__amount--muted { color: rgba(31, 61, 45, 0.42); }
.tcw-accepted { margin-top: clamp(48px, 6vw, 84px); }
.tcw-accepted .tcw-h2 { margin-bottom: 0.5em; }

/* ===================================================================
   RESERVE (deep green)
   =================================================================== */
.tcw-reserve { background: var(--green-deep); color: var(--cream); }
.tcw-reserve__title { color: var(--cream); margin-bottom: 0.5em; }
.tcw-reserve__grid {
	display: grid; grid-template-columns: 1fr; gap: clamp(32px, 6vw, 96px);
	max-width: 940px; margin: clamp(44px, 5vw, 72px) auto clamp(32px, 4vw, 48px);
	text-align: left;
}
.tcw-reserve__card { border-top: 1px solid var(--cream-line); padding-top: 26px; }
.tcw-reserve__label {
	font-size: 12px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase;
	color: rgba(247, 244, 237, 0.7); margin-bottom: 1.6em;
}
.tcw-reserve__card .tcw-price__amount { color: var(--cream); margin-bottom: 0.7em; }
.tcw-reserve__desc { font-size: 15px; line-height: 1.55; color: rgba(247, 244, 237, 0.72); margin-top: 1.4em; max-width: 34ch; }
.tcw-reserve__aside {
	font-size: 15px; color: rgba(247, 244, 237, 0.66); max-width: 52ch;
	margin: clamp(20px, 3vw, 36px) auto clamp(28px, 4vw, 48px);
}
.tcw-reserve__foot { border-top: 1px solid var(--cream-line); padding-top: clamp(28px, 3.5vw, 44px); }
.tcw-reserve__contact { font-size: 16px; letter-spacing: 0.02em; color: rgba(247, 244, 237, 0.86); }
.tcw-reserve__contact a:hover { color: #fff; }
.tcw-reserve__contact span { margin: 0 14px; opacity: 0.45; }
.tcw-reserve__legal { font-family: var(--serif); font-style: italic; font-weight: 500; font-size: clamp(18px, 1.9vw, 26px); color: rgba(247, 244, 237, 0.7); margin-top: 1.4em; }
.tcw-reserve__deadline {
	font-size: 14px; line-height: 1.6; color: rgba(247, 244, 237, 0.72);
	max-width: 52ch; margin: 10px auto 0;
}
.tcw-reserve__waitlist {
	font-size: 14px; color: rgba(247, 244, 237, 0.66); max-width: 52ch;
	margin: clamp(18px, 2.4vw, 28px) auto 0; border-top: 1px solid var(--cream-line);
	padding-top: clamp(18px, 2.4vw, 28px);
}
.tcw-reserve__waitlist a { color: rgba(247, 244, 237, 0.9); text-decoration: underline; }
.tcw-reserve__waitlist a:hover { color: #fff; }

/* ===================================================================
   FOOTER (cream)
   =================================================================== */
.tcw-footer { background: var(--cream); border-top: 1px solid var(--green); padding: 34px var(--gutter); }
.tcw-footer__inner {
	max-width: var(--wrap); margin-inline: auto;
	display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 20px;
}
.tcw-footer__brand { justify-self: start; display: inline-flex; }
.tcw-footer__name { justify-self: center; font-size: 14px; letter-spacing: 0.02em; color: var(--ink-soft); }
.tcw-footer__top {
	justify-self: end; font-size: 12px; font-weight: 600; letter-spacing: 0.16em;
	text-transform: uppercase; color: var(--ink-soft);
}
.tcw-footer__top:hover { color: var(--green); }
.tcw-footer__memory {
	max-width: var(--wrap); margin: 14px auto 0; text-align: center;
	font-size: 12px; letter-spacing: 0.02em; color: var(--muted); opacity: 0.75;
}
.tcw-footer__memory a { color: inherit; margin-left: 4px; text-decoration: none; }
.tcw-footer__memory a:hover { color: var(--green); }

/* ===================================================================
   RESPONSIVE
   =================================================================== */
@media (max-width: 900px) {
	.tcw-hero__grid { grid-template-columns: 1fr; }
	.tcw-hero__figure { max-width: 460px; }
	.tcw-metabar { grid-template-columns: 1fr; }
	.tcw-metabar li { text-align: left !important; border: 0 !important; border-top: 1px solid var(--line) !important; }
	.tcw-metabar li:first-child { border-top: 0 !important; }
}

@media (max-width: 768px) {
	.tcw-nav-toggle { display: flex; }
	.tcw-nav {
		max-height: 0; overflow: hidden; transition: max-height 0.35s ease; border-bottom: 0;
	}
	.tcw-nav.is-open { max-height: 320px; border-bottom: 1px solid var(--line-soft); }
	.tcw-nav__list { flex-direction: column; align-items: center; gap: 2px; padding: 10px 0 16px; }
	.tcw-nav__list a { display: block; padding: 12px 0; }

	.tcw-two, .tcw-two--even, .tcw-solution, .tcw-integration,
	.tcw-hero__grid, .tcw-footer__inner { grid-template-columns: 1fr; gap: 28px; }

	.tcw-price, .tcw-reserve__grid { grid-template-columns: 1fr; }
	.tcw-price__card + .tcw-price__card { border-left: 0; border-top: 1px solid var(--line); }

	.tcw-formula { grid-template-columns: 1fr; }
	.tcw-formula__step + .tcw-formula__step { border-left: 0; border-top: 1px solid var(--line); }

	.tcw-exp__cols .tcw-exp__col:last-child,
	.tcw-receive__col:last-child { padding-left: 0; border-left: 0; }

	.tcw-hero__actions { flex-wrap: wrap; gap: 20px; }
	.tcw-body, .tcw-statement, .tcw-solution__body .tcw-body { max-width: none; }
	.tcw-statement--left { max-width: none; }

	.tcw-footer__inner { justify-items: center; text-align: center; }
	.tcw-footer__brand, .tcw-footer__name, .tcw-footer__top { justify-self: center; }

	.tcw-deflist__row { grid-template-columns: 1fr; gap: 6px; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	* { transition: none !important; }
}
