/* ================================================Pillowdecor — Styles================================================ */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,400&family=Inter:wght@300;400;500;600&display=swap');

/* --- Variables --- */ {--cream: #FAF7F3;--cream-dark: #F1EBE3;--terracotta: #B8624A;--terracotta-light: #C97A5E;--terracotta-dark: #9A4F3A;--rose: #D4A49A;--sage: #7A8C6E;--sage-light: #9BAA8D;--brown: #2A1810;--brown-mid: #5C3D2E;--brown-light: #8B6558;--white: #FFFFFF;--border: rgba(42, 24, 16, 0.12);--shadow: 0 4px 24px rgba(42, 24, 16, 0.08);--shadow-lg: 0 12px 48px rgba(42, 24, 16, 0.12);--radius: 12px;--radius-sm: 8px;--radius-lg: 20px;--font-serif: 'Cormorant Garamond', Georgia, serif;--font-sans: 'Inter', system-ui, sans-serif;--transition: 0.3s ease;}

/* --- Reset --- */*, *::before, *::after {box-sizing: border-box;margin: 0;padding: 0;}

html {scroll-behavior: smooth;font-size: 16px;}

body {font-family: var(--font-sans);background-color: var(--cream);color: var(--brown);line-height: 1.6;-webkit-font-smoothing: antialiased;overflow-x: hidden;}

img {max-width: 100%;height: auto;display: block;}

a {color: inherit;text-decoration: none;}

ul {list-style: none;}

/* --- Typography --- */h1, h2, h3, h4 {font-family: var(--font-serif);line-height: 1.2;font-weight: 500;}

h1 { font-size: clamp(2.4rem, 5vw, 4rem); }h2 { font-size: clamp(1.9rem, 3.5vw, 2.8rem); }h3 { font-size: clamp(1.3rem, 2vw, 1.7rem); }h4 { font-size: 1.2rem; }

p {color: var(--brown-mid);line-height: 1.75;}

/* --- Container --- */.container {max-width: 1140px;margin: 0 auto;padding: 0 24px;}

/* --- Buttons --- */.btn {display: inline-flex;align-items: center;justify-content: center;gap: 8px;padding: 16px 36px;border-radius: 50px;font-family: var(--font-sans);font-size: 0.95rem;font-weight: 500;letter-spacing: 0.02em;cursor: pointer;transition: all var(--transition);border: none;text-align: center;white-space: nowrap;}

.btn-primary {background-color: var(--terracotta);color: var(--white);}

.btn-primary {background-color: var(--terracotta-dark);transform: translateY(-2px);box-shadow: 0 8px 24px rgba(184, 98, 74, 0.3);}

.btn-secondary {background-color: transparent;color: var(--terracotta);border: 1.5px solid var(--terracotta);}

.btn-secondary {background-color: var(--terracotta);color: var(--white);transform: translateY(-2px);}

.btn-large {padding: 20px 48px;font-size: 1.05rem;}

/* --- Section layout --- */section {padding: 96px 0;}

.section-label {display: inline-block;font-family: var(--font-sans);font-size: 0.75rem;font-weight: 600;letter-spacing: 0.15em;text-transform: uppercase;color: var(--terracotta);margin-bottom: 16px;}

.section-title {margin-bottom: 20px;}

.section-subtitle {font-size: 1.1rem;color: var(--brown-light);max-width: 560px;margin-bottom: 56px;}

.text-center {text-align: center;}

.text-center .section-subtitle {margin-left: auto;margin-right: auto;}

/* ================================================HEADER / NAV================================================ */.header {position: fixed;top: 0;left: 0;right: 0;z-index: 100;padding: 20px 0;transition: all var(--transition);}

.header.scrolled {background-color: rgba(250, 247, 243, 0.96);backdrop-filter: blur(8px);-webkit-backdrop-filter: blur(8px);padding: 14px 0;box-shadow: 0 1px 0 var(--border);}

.header-inner {display: flex;align-items: center;justify-content: space-between;}

.logo {font-family: var(--font-serif);font-size: 1.6rem;font-weight: 500;color: var(--brown);letter-spacing: 0.01em;}

.logo span {color: var(--terracotta);}

.nav {display: flex;align-items: center;gap: 36px;}

.nav a {font-size: 0.9rem;font-weight: 400;color: var(--brown-mid);transition: color var(--transition);}

.nav a {color: var(--terracotta);}

.header-cta {padding: 10px 24px;font-size: 0.9rem;}

.burger {display: none;flex-direction: column;gap: 5px;cursor: pointer;padding: 4px;}

.burger span {display: block;width: 24px;height: 1.5px;background-color: var(--brown);transition: all var(--transition);transform-origin: left;}

.burger.open span(1) { transform: rotate(38deg); }.burger.open span(2) { opacity: 0; }.burger.open span(3) { transform: rotate(-38deg); }

/* ================================================HERO================================================ */.hero {min-height: 100vh;display: flex;align-items: center;position: relative;padding: 120px 0 80px;overflow: hidden;}

.hero-bg {position: absolute;inset: 0;background: linear-gradient(135deg, #F5EEE7 0%, #EDE3D8 100%);z-index: 0;}

.hero-bg::after {content: '';position: absolute;right: 0;top: 0;width: 55%;height: 100%;background-image: url('images/hero.png');background-size: cover;background-position: center;opacity: 0.85;}

.hero-content {position: relative;z-index: 1;max-width: 560px;}

.hero-badge {display: inline-flex;align-items: center;gap: 8px;background-color: rgba(128, 128, 0);border: 1px solid var(--border);border-radius: 50px;padding: 8px 18px;font-size: 0.8rem;color: var(--brown-mid);margin-bottom: 28px;backdrop-filter: blur(4px);}

.hero-badge::before {content: '';width: 6px;height: 6px;border-radius: 50%;background-color: var(--terracotta);flex-shrink: 0;}

.hero h1 {margin-bottom: 24px;color: var(--brown);}

.hero h1 em {font-style: italic;color: var(--terracotta);}

.hero-desc {font-size: 1.05rem;color: var(--brown-mid);margin-bottom: 40px;max-width: 480px;}

.hero-actions {display: flex;align-items: center;gap: 16px;flex-wrap: wrap;margin-bottom: 56px;}

.hero-stats {display: flex;gap: 40px;}

.hero-stat-value {font-family: var(--font-serif);font-size: 2rem;font-weight: 500;color: var(--brown);line-height: 1;margin-bottom: 4px;}

.hero-stat-label {font-size: 0.8rem;color: var(--brown-light);}

/* ================================================FOR WHOM================================================ */.for-whom {background-color: var(--white);}

.for-whom-grid {display: grid;grid-template-columns: 1fr 1fr;gap: 48px;align-items: center;}

.for-whom-image {border-radius: var(--radius-lg);overflow: hidden;aspect-ratio: 4/5;}

.for-whom-image img {width: 100%;height: 100%;object-fit: cover;transition: transform 0.6s ease;}

.for-whom-image img {transform: scale(1.03);}

.who-list {display: flex;flex-direction: column;gap: 20px;margin-top: 40px;}

.who-item {display: flex;gap: 16px;align-items: flex-start;}

.who-icon {width: 44px;height: 44px;border-radius: var(--radius-sm);background-color: var(--cream-dark);display: flex;align-items: center;justify-content: center;flex-shrink: 0;font-size: 1.2rem;}

.who-item-title {font-family: var(--font-serif);font-size: 1.05rem;margin-bottom: 4px;color: var(--brown);}

.who-item-desc {font-size: 0.88rem;color: var(--brown-light);line-height: 1.6;}

/* ================================================PROGRAM================================================ */.program {background-color: var(--cream);}

.program-grid {display: grid;grid-template-columns: repeat(3, 1fr);gap: 24px;}

.program-card {background-color: var(--white);border-radius: var(--radius);padding: 32px;border: 1px solid var(--border);transition: all var(--transition);position: relative;}

.program-card {transform: translateY(-4px);box-shadow: var(--shadow);}

.program-card.featured {background-color: var(--terracotta);border-color: var(--terracotta);color: var(--white);}

.program-card.featured p,.program-card.featured .program-module {color: rgba(128, 128, 0);}

.program-number {font-family: var(--font-serif);font-size: 3rem;font-weight: 300;color: var(--cream-dark);line-height: 1;margin-bottom: 16px;transition: color var(--transition);}

.program-card.featured .program-number {color: rgba(128, 128, 0,0.3);}

.program-card h3 {margin-bottom: 12px;font-size: 1.15rem;}

.program-card.featured h3 {color: var(--white);}

.program-card p {font-size: 0.88rem;margin-bottom: 20px;}

.program-module {font-size: 0.8rem;color: var(--brown-light);font-weight: 500;letter-spacing: 0.05em;}

/* ================================================HOW IT WORKS================================================ */.how-it-works {background-color: var(--white);}

.steps {display: grid;grid-template-columns: repeat(4, 1fr);gap: 32px;margin-top: 64px;position: relative;}

.steps::before {content: '';position: absolute;top: 32px;left: 60px;right: 60px;height: 1px;background: linear-gradient(90deg, transparent, var(--border) 10%, var(--border) 90%, transparent);}

.step {text-align: center;padding-top: 16px;}

.step-circle {width: 64px;height: 64px;border-radius: 50%;background-color: var(--cream-dark);border: 1px solid var(--border);display: flex;align-items: center;justify-content: center;margin: 0 auto 20px;font-family: var(--font-serif);font-size: 1.4rem;font-weight: 500;color: var(--terracotta);position: relative;z-index: 1;background-color: var(--cream);}

.step h4 {font-family: var(--font-serif);font-size: 1.05rem;margin-bottom: 10px;color: var(--brown);}

.step p {font-size: 0.85rem;color: var(--brown-light);}

/* ================================================GALLERY================================================ */.gallery {background-color: var(--cream);padding-bottom: 80px;}

.gallery-grid {display: grid;grid-template-columns: repeat(3, 1fr);gap: 20px;}

.gallery-item {border-radius: var(--radius);overflow: hidden;aspect-ratio: 1/1;position: relative;}

.gallery-item img {width: 100%;height: 100%;object-fit: cover;transition: transform 0.5s ease;}

.gallery-item img {transform: scale(1.05);}

/* ================================================RESULTS================================================ */.results {background-color: #EDE4DA;}

.results-inner {display: grid;grid-template-columns: 1fr 1fr;gap: 80px;align-items: center;}

.results-image {border-radius: var(--radius-lg);overflow: hidden;aspect-ratio: 4/3;}

.results-image img {width: 100%;height: 100%;object-fit: cover;}

.results-list {display: flex;flex-direction: column;gap: 28px;margin-top: 40px;}

.result-item {display: flex;gap: 20px;align-items: flex-start;}

.result-check {width: 36px;height: 36px;border-radius: 50%;background-color: var(--terracotta);display: flex;align-items: center;justify-content: center;flex-shrink: 0;color: white;font-size: 0.9rem;}

.result-item-title {font-family: var(--font-serif);font-size: 1.05rem;color: var(--brown);margin-bottom: 4px;}

.result-item p {font-size: 0.88rem;color: var(--brown-mid);}

/* ================================================INSTRUCTOR================================================ */.instructor {background-color: var(--white);}

.instructor-inner {display: grid;grid-template-columns: 400px 1fr;gap: 80px;align-items: center;}

.instructor-photo {border-radius: var(--radius-lg);overflow: hidden;aspect-ratio: 3/4;box-shadow: var(--shadow-lg);}

.instructor-photo img {width: 100%;height: 100%;object-fit: cover;}

.instructor-quote {font-family: var(--font-serif);font-size: 1.35rem;font-style: italic;color: var(--brown);line-height: 1.6;margin: 28px 0;padding-left: 24px;border-left: 3px solid var(--terracotta);}

.instructor-tags {display: flex;flex-wrap: wrap;gap: 10px;margin-top: 32px;}

.tag {background-color: var(--cream-dark);border: 1px solid var(--border);border-radius: 50px;padding: 7px 18px;font-size: 0.82rem;color: var(--brown-mid);}

/* ================================================MATERIALS================================================ */.materials {background-color: var(--cream);}

.materials-grid {display: grid;grid-template-columns: 1fr 1fr;gap: 56px;align-items: center;}

.materials-image {border-radius: var(--radius-lg);overflow: hidden;}

.materials-image img {width: 100%;object-fit: cover;}

.materials-list {display: grid;grid-template-columns: 1fr 1fr;gap: 16px;margin-top: 32px;}

.material-item {background-color: var(--white);border-radius: var(--radius-sm);padding: 16px;border: 1px solid var(--border);}

.material-icon {font-size: 1.4rem;margin-bottom: 8px;}

.material-name {font-size: 0.85rem;font-weight: 500;color: var(--brown);}

/* ================================================LEAD FORM================================================ */.lead-form-section {background: linear-gradient(135deg, var(--brown) 0%, #3D2218 100%);position: relative;overflow: hidden;padding: 96px 0;}

.lead-form-section::before {content: '';position: absolute;top: -100px;right: -100px;width: 500px;height: 500px;border-radius: 50%;background-color: rgba(184, 98, 74, 0.15);pointer-events: none;}

.lead-form-section::after {content: '';position: absolute;bottom: -80px;left: -80px;width: 360px;height: 360px;border-radius: 50%;background-color: rgba(128, 128, 0,0.03);pointer-events: none;}

.lead-form-inner {display: grid;grid-template-columns: 1fr 1fr;gap: 80px;align-items: center;position: relative;z-index: 1;}

.lead-form-text .section-label {color: var(--rose);}

.lead-form-text h2 {color: var(--white);margin-bottom: 20px;}

.lead-form-text p {color: rgba(128, 128, 0,0.65);font-size: 1rem;}

.lead-form-promises {margin-top: 40px;display: flex;flex-direction: column;gap: 12px;}

.promise-item {display: flex;align-items: center;gap: 12px;font-size: 0.9rem;color: rgba(128, 128, 0);}

.promise-item::before {content: '✓';width: 22px;height: 22px;border-radius: 50%;background-color: rgba(184, 98, 74, 0.4);display: flex;align-items: center;justify-content: center;font-size: 0.75rem;color: var(--rose);flex-shrink: 0;}

.form-card {background-color: var(--white);border-radius: var(--radius-lg);padding: 44px;box-shadow: var(--shadow-lg);}

.form-card h3 {font-size: 1.35rem;margin-bottom: 8px;color: var(--brown);}

.form-card .form-sub {font-size: 0.88rem;color: var(--brown-light);margin-bottom: 28px;}

.form-group {margin-bottom: 18px;}

.form-label {display: block;font-size: 0.82rem;font-weight: 500;color: var(--brown-mid);margin-bottom: 7px;letter-spacing: 0.01em;}

.form-input {width: 100%;padding: 14px 18px;border: 1.5px solid rgba(42, 24, 16, 0.15);border-radius: var(--radius-sm);font-family: var(--font-sans);font-size: 0.95rem;color: var(--brown);background-color: var(--cream);transition: all var(--transition);outline: none;appearance: none;}

.form-input::placeholder {color: rgba(92, 61, 46, 0.45);}

.form-input {border-color: var(--terracotta);background-color: var(--white);box-shadow: 0 0 0 3px rgba(184, 98, 74, 0.1);}

.form-select {cursor: pointer;background-image: url("data/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235C3D2E' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat: no-repeat;background-position: right 16px center;padding-right: 44px;}

.form-submit {width: 100%;margin-top: 8px;}

.form-agreement {margin-top: 14px;font-size: 0.75rem;color: var(--brown-light);text-align: center;line-height: 1.5;}

.form-agreement a {color: var(--terracotta);text-decoration: underline;}

/* ================================================FAQ================================================ */.faq {background-color: var(--cream);}

.faq-list {max-width: 760px;margin: 0 auto;display: flex;flex-direction: column;gap: 8px;}

.faq-item {background-color: var(--white);border: 1px solid var(--border);border-radius: var(--radius-sm);overflow: hidden;}

.faq-question {display: flex;align-items: center;justify-content: space-between;padding: 22px 28px;cursor: pointer;font-family: var(--font-serif);font-size: 1.05rem;color: var(--brown);gap: 16px;transition: color var(--transition);}

.faq-question {color: var(--terracotta);}

.faq-chevron {width: 24px;height: 24px;border-radius: 50%;border: 1px solid var(--border);display: flex;align-items: center;justify-content: center;flex-shrink: 0;transition: all var(--transition);color: var(--brown-light);font-size: 0.75rem;}

.faq-item.open .faq-chevron {background-color: var(--terracotta);border-color: var(--terracotta);color: var(--white);transform: rotate(180deg);}

.faq-answer {max-height: 0;overflow: hidden;transition: max-height 0.4s ease, padding 0.3s ease;}

.faq-answer-inner {padding: 0 28px 24px;font-size: 0.9rem;color: var(--brown-mid);line-height: 1.75;}

.faq-item.open .faq-answer {max-height: 300px;}

/* ================================================FOOTER================================================ */.footer {background-color: var(--brown);color: rgba(128, 128, 0);padding: 64px 0 40px;}

.footer-grid {display: grid;grid-template-columns: 1.5fr 1fr 1fr;gap: 48px;margin-bottom: 56px;}

.footer-brand .logo {color: var(--white);margin-bottom: 16px;display: block;}

.footer-brand p {font-size: 0.85rem;color: rgba(128, 128, 0);margin-bottom: 20px;max-width: 280px;}

.footer-legal-info {font-size: 0.75rem;color: rgba(128, 128, 0);line-height: 1.8;}

.footer-col h5 {font-family: var(--font-sans);font-size: 0.75rem;font-weight: 600;letter-spacing: 0.12em;text-transform: uppercase;color: rgba(128, 128, 0,0.5);margin-bottom: 20px;}

.footer-links {display: flex;flex-direction: column;gap: 10px;}

.footer-links a {font-size: 0.88rem;color: rgba(128, 128, 0,0.6);transition: color var(--transition);}

.footer-links a {color: var(--rose);}

.footer-bottom {border-top: 1px solid rgba(128, 128, 0,0.08);padding-top: 28px;display: flex;align-items: center;justify-content: space-between;flex-wrap: wrap;gap: 12px;}

.footer-copy {font-size: 0.8rem;color: rgba(128, 128, 0,0.35);}

.footer-domain {font-size: 0.8rem;color: var(--terracotta-light);}

/* ================================================COOKIE BANNER================================================ */.cookie-banner {position: fixed;bottom: 24px;left: 50%;transform: translateX(-50%) translateY(120%);z-index: 200;background-color: var(--brown);color: var(--white);border-radius: var(--radius);padding: 20px 28px;max-width: 640px;width: calc(100% - 48px);display: flex;align-items: center;justify-content: space-between;gap: 24px;box-shadow: 0 8px 40px rgba(0,0,0,0.25);transition: transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);}

.cookie-banner.visible {transform: translateX(-50%) translateY(0);}

.cookie-text {font-size: 0.85rem;color: rgba(128, 128, 0);line-height: 1.5;}

.cookie-text a {color: var(--rose);text-decoration: underline;}

.cookie-buttons {display: flex;gap: 10px;flex-shrink: 0;}

.cookie-accept {background-color: var(--terracotta);color: white;border: none;padding: 10px 22px;border-radius: 50px;font-family: var(--font-sans);font-size: 0.85rem;font-weight: 500;cursor: pointer;transition: background-color var(--transition);white-space: nowrap;}

.cookie-accept {background-color: var(--terracotta-dark);}

.cookie-decline {background-color: transparent;color: rgba(128, 128, 0,0.5);border: 1px solid rgba(128, 128, 0,0.2);padding: 10px 16px;border-radius: 50px;font-family: var(--font-sans);font-size: 0.85rem;cursor: pointer;transition: all var(--transition);white-space: nowrap;}

.cookie-decline {border-color: rgba(128, 128, 0,0.4);color: rgba(128, 128, 0,0.7);}

/* ================================================LEGAL PAGES================================================ */.legal-hero {background-color: var(--cream-dark);padding: 140px 0 72px;text-align: center;}

.legal-content {padding: 72px 0 96px;background-color: var(--white);}

.legal-article {max-width: 780px;margin: 0 auto;}

.legal-article h2 {font-size: 1.5rem;margin: 44px 0 16px;color: var(--brown);}

.legal-article h2 {margin-top: 0;}

.legal-article p {margin-bottom: 16px;font-size: 0.95rem;}

.legal-article ul {list-style: disc;padding-left: 24px;margin-bottom: 16px;color: var(--brown-mid);font-size: 0.95rem;}

.legal-article ul li {margin-bottom: 8px;line-height: 1.6;}

.legal-article a {color: var(--terracotta);text-decoration: underline;}

/* ================================================SUCCESS PAGE================================================ */.success-page {min-height: 100vh;display: flex;align-items: center;justify-content: center;background: linear-gradient(135deg, #F5EEE7 0%, #EDE3D8 100%);padding: 48px 24px;}

.success-card {background-color: var(--white);border-radius: var(--radius-lg);padding: 64px;max-width: 520px;width: 100%;text-align: center;box-shadow: var(--shadow-lg);}

.success-icon {width: 80px;height: 80px;border-radius: 50%;background-color: rgba(184, 98, 74, 0.1);display: flex;align-items: center;justify-content: center;margin: 0 auto 28px;font-size: 2rem;}

.success-card h1 {font-size: 2rem;margin-bottom: 16px;color: var(--brown);}

.success-card p {font-size: 1rem;color: var(--brown-mid);margin-bottom: 36px;}

/* ================================================SCROLL ANIMATIONS================================================ */.fade-up {opacity: 0;transform: translateY(28px);transition: opacity 0.7s ease, transform 0.7s ease;}

.fade-up.visible {opacity: 1;transform: translateY(0);}

.fade-up(2) { transition-delay: 0.1s; }.fade-up(3) { transition-delay: 0.2s; }.fade-up(4) { transition-delay: 0.3s; }.fade-up(5) { transition-delay: 0.4s; }.fade-up(6) { transition-delay: 0.5s; }

/* ================================================RESPONSIVE================================================ */@media (max-width: 1024px) {.hero-bg::after {width: 50%;opacity: 0.6;}

.instructor-inner {grid-template-columns: 320px 1fr;gap: 48px;}}

@media (max-width: 900px) {section { padding: 72px 0; }

.nav {position: fixed;top: 0;right: -100%;width: 280px;height: 100vh;background-color: var(--white);flex-direction: column;justify-content: center;align-items: flex-start;padding: 80px 40px;box-shadow: -4px 0 32px rgba(0,0,0,0.1);transition: right var(--transition);gap: 24px;z-index: 99;}

.nav.open { right: 0; }.nav a { font-size: 1.1rem; }.header-cta { display: none; }

.burger { display: flex; }

.hero {padding: 140px 0 80px;min-height: auto;}

.hero-bg::after {display: none;}

.hero-content {max-width: 100%;}

.for-whom-grid,.results-inner,.instructor-inner,.materials-grid,.lead-form-inner {grid-template-columns: 1fr;gap: 40px;}

.for-whom-image,.instructor-photo {max-width: 420px;margin: 0 auto;}

.program-grid {grid-template-columns: 1fr 1fr;}

.steps {grid-template-columns: 1fr 1fr;gap: 24px;}

.steps::before { display: none; }

.footer-grid {grid-template-columns: 1fr 1fr;}}

@media (max-width: 600px) {.container { padding: 0 20px; }

section { padding: 56px 0; }

h1 { font-size: 2.2rem; }h2 { font-size: 1.8rem; }

.hero-stats { gap: 28px; }

.program-grid,.steps {grid-template-columns: 1fr;}

.gallery-grid {grid-template-columns: 1fr 1fr;}

.materials-list {grid-template-columns: 1fr 1fr;}

.form-card {padding: 28px 24px;}

.footer-grid {grid-template-columns: 1fr;gap: 36px;}

.footer-bottom {flex-direction: column;align-items: flex-start;}

.success-card {padding: 40px 28px;}

.cookie-banner {flex-direction: column;align-items: flex-start;gap: 16px;}

.hero .container {max-width: 100%;padding-left: clamp(24px, 5vw, 80px);}

.hero-content {margin-left: 0 !important;margin-right: auto !important;text-align: left !important;}}