.page-hero{position:relative;min-height:50vh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;padding-top:80px}.page-hero-bg{position:absolute;inset:0;background:linear-gradient(135deg,rgba(30,61,42,.9) 0,rgba(45,90,61,.85) 50%,rgba(30,61,42,.92) 100%)}.page-hero-bg::after{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}.page-hero .hero-gradient{position:absolute;bottom:0;left:0;right:0;height:120px;background:linear-gradient(to top,var(--color-cream),transparent)}.page-hero-content{position:relative;z-index:2;max-width:800px;padding:var(--space-4xl) var(--space-xl)}.page-hero-breadcrumb{display:inline-flex;align-items:center;gap:var(--space-sm);font-size:.8125rem;color:rgba(255,255,255,.6);margin-bottom:var(--space-xl)}.page-hero-breadcrumb a{color:rgba(255,255,255,.6);text-decoration:none;transition:color var(--transition-fast)}.page-hero-breadcrumb a:hover{color:rgba(255,255,255,.9)}.page-hero-breadcrumb .separator{font-size:.75rem}.page-hero-title{font-size:clamp(2rem, 5vw, 3.5rem);color:var(--color-white);margin-bottom:var(--space-lg);line-height:1.1;letter-spacing:-.02em}.page-hero-subtitle{font-size:clamp(1rem, 2vw, 1.25rem);color:rgba(255,255,255,.8);line-height:1.7;max-width:600px;margin:0 auto}.page-content{padding:var(--space-5xl) 0}.page-content .container{max-width:var(--container-width)}.content-grid{display:grid;grid-template-columns:1fr 340px;gap:var(--space-4xl);align-items:start}.content-main{min-width:0}.content-sidebar{position:sticky;top:100px}.rich-text h2{font-size:clamp(1.75rem, 3vw, 2.5rem);margin-top:var(--space-3xl);margin-bottom:var(--space-lg)}.rich-text h2:first-child{margin-top:0}.rich-text h3{font-size:clamp(1.25rem, 2.5vw, 1.75rem);margin-top:var(--space-2xl);margin-bottom:var(--space-md)}.rich-text p{font-size:1.0625rem;color:var(--color-text-muted);line-height:1.8;margin-bottom:var(--space-lg)}.rich-text ol,.rich-text ul{margin-bottom:var(--space-lg);padding-left:var(--space-xl)}.rich-text li{font-size:1.0625rem;color:var(--color-text-muted);line-height:1.7;margin-bottom:var(--space-sm)}.rich-text blockquote{margin:var(--space-2xl) 0;padding:var(--space-xl);background:var(--color-sand);border-radius:var(--radius-lg);border-left:3px solid var(--color-accent)}.rich-text blockquote p{font-family:var(--font-heading);font-size:1.25rem;font-style:italic;color:var(--color-text);line-height:1.6;margin-bottom:var(--space-sm)}.rich-text blockquote cite{font-family:var(--font-body);font-size:.875rem;font-style:normal;color:var(--color-text-muted)}.rich-text img{border-radius:var(--radius-lg);margin:var(--space-2xl) 0}.sidebar-card{background:var(--color-white);border:1px solid var(--color-stone);border-radius:var(--radius-xl);padding:var(--space-2xl);margin-bottom:var(--space-xl)}.sidebar-card-title{font-family:var(--font-body);font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent-dark);margin-bottom:var(--space-lg)}.sidebar-links{list-style:none;padding:0}.sidebar-links li{border-bottom:1px solid var(--color-sand)}.sidebar-links li:last-child{border-bottom:none}.sidebar-links a{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) 0;font-size:.9375rem;color:var(--color-text);text-decoration:none;transition:all var(--transition-fast)}.sidebar-links a:hover{color:var(--color-primary);padding-left:var(--space-sm)}.sidebar-links a svg{flex-shrink:0;opacity:0;transition:opacity var(--transition-fast)}.sidebar-links a:hover svg{opacity:1}.sidebar-cta{background:linear-gradient(135deg,var(--color-primary-dark),var(--color-primary));border:none;color:var(--color-white)}.sidebar-cta .sidebar-card-title{color:var(--color-accent-light)}.sidebar-cta p{font-size:.9375rem;color:rgba(255,255,255,.8);line-height:1.6;margin-bottom:var(--space-lg)}.sidebar-cta .btn{width:100%;justify-content:center}.sidebar-contact-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) 0;font-size:.9375rem;color:rgba(255,255,255,.85)}.sidebar-contact-item svg{flex-shrink:0;color:var(--color-accent-light)}.process-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-xl);margin:var(--space-2xl) 0}.process-step{text-align:center;padding:var(--space-2xl);background:var(--color-white);border-radius:var(--radius-lg);border:1px solid var(--color-stone)}.step-number{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:var(--color-primary);color:var(--color-white);font-family:var(--font-heading);font-size:1.25rem;font-weight:600;margin-bottom:var(--space-lg)}.step-title{font-size:1.125rem;margin-bottom:var(--space-sm)}.step-desc{font-size:.9375rem;color:var(--color-text-muted);line-height:1.6}.benefits-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-xl);margin:var(--space-2xl) 0}.benefit-card{display:flex;gap:var(--space-lg);align-items:flex-start;padding:var(--space-xl);background:var(--color-white);border-radius:var(--radius-lg);border:1px solid var(--color-stone);transition:all var(--transition-base)}.benefit-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.benefit-icon{flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--color-sand);border-radius:var(--radius-md);color:var(--color-primary)}.benefit-title{font-family:var(--font-body);font-size:1rem;font-weight:600;margin-bottom:var(--space-xs)}.benefit-desc{font-size:.875rem;color:var(--color-text-muted);line-height:1.6}.team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--space-2xl)}.team-member{text-align:center}.team-photo{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--radius-xl);margin-bottom:var(--space-lg)}.team-name{font-size:1.375rem;margin-bottom:var(--space-xs)}.team-role{font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent-dark);margin-bottom:var(--space-md)}.team-specialties{list-style:none;padding:0}.team-specialties li{display:inline-block;font-size:.8125rem;color:var(--color-text-muted);padding:var(--space-xs) var(--space-sm);background:var(--color-sand);border-radius:var(--radius-full);margin:2px}.timeline{position:relative;padding-left:var(--space-3xl)}.timeline::before{content:'';position:absolute;left:12px;top:0;bottom:0;width:2px;background:var(--color-stone)}.timeline-item{position:relative;padding-bottom:var(--space-3xl)}.timeline-item:last-child{padding-bottom:0}.timeline-dot{position:absolute;left:calc(-1 * var(--space-3xl) + 4px);top:4px;width:18px;height:18px;border-radius:50%;background:var(--color-primary);border:3px solid var(--color-cream);z-index:1}.timeline-year{font-family:var(--font-heading);font-size:1.5rem;font-weight:600;color:var(--color-primary);margin-bottom:var(--space-sm)}.timeline-text{font-size:1rem;color:var(--color-text-muted);line-height:1.7}.courses-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--space-xl)}.course-card{background:var(--color-white);border:1px solid var(--color-stone);border-radius:var(--radius-xl);padding:var(--space-2xl);transition:all var(--transition-base)}.course-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.course-tag{display:inline-block;font-size:.6875rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-white);background:var(--color-primary);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-full);margin-bottom:var(--space-md)}.course-title{font-size:1.375rem;margin-bottom:var(--space-md)}.course-desc{font-size:.9375rem;color:var(--color-text-muted);line-height:1.7;margin-bottom:var(--space-lg)}.course-meta{display:flex;flex-wrap:wrap;gap:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--color-sand)}.course-meta-item{display:flex;align-items:center;gap:var(--space-xs);font-size:.8125rem;color:var(--color-text-light)}.course-meta-item svg{color:var(--color-primary)}.calendar-list{display:flex;flex-direction:column;gap:var(--space-lg)}.calendar-item{display:flex;gap:var(--space-xl);padding:var(--space-xl);background:var(--color-white);border:1px solid var(--color-stone);border-radius:var(--radius-lg);transition:all var(--transition-base);align-items:center}.calendar-item:hover{box-shadow:var(--shadow-md);border-color:var(--color-primary)}.calendar-date{flex-shrink:0;width:80px;height:80px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--color-primary);color:var(--color-white);border-radius:var(--radius-md)}.calendar-month{font-size:.6875rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;opacity:.8}.calendar-day{font-family:var(--font-heading);font-size:1.75rem;font-weight:600;line-height:1}.calendar-info{flex:1;min-width:0}.calendar-title{font-size:1.125rem;margin-bottom:var(--space-xs)}.calendar-details{display:flex;flex-wrap:wrap;gap:var(--space-md);font-size:.8125rem;color:var(--color-text-muted)}.conditions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--space-lg)}.condition-card{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-lg);background:var(--color-white);border:1px solid var(--color-stone);border-radius:var(--radius-lg);text-decoration:none;color:var(--color-text);transition:all var(--transition-base)}.condition-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);color:var(--color-primary);transform:translateY(-2px)}.condition-icon{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--color-sand);border-radius:var(--radius-md);color:var(--color-primary);transition:all var(--transition-fast)}.condition-card:hover .condition-icon{background:var(--color-primary);color:var(--color-white)}.condition-name{font-family:var(--font-heading);font-size:1.125rem;font-weight:500}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2xl)}.contact-card{background:var(--color-white);border:1px solid var(--color-stone);border-radius:var(--radius-xl);overflow:hidden}.contact-map{width:100%;height:250px;background:var(--color-sand);border:none}.contact-info{padding:var(--space-2xl)}.contact-info h3{font-size:1.375rem;margin-bottom:var(--space-lg)}.contact-detail{display:flex;align-items:flex-start;gap:var(--space-md);margin-bottom:var(--space-md);font-size:.9375rem;color:var(--color-text-muted)}.contact-detail svg{flex-shrink:0;margin-top:2px;color:var(--color-primary)}.contact-form{background:var(--color-white);border:1px solid var(--color-stone);border-radius:var(--radius-xl);padding:var(--space-2xl)}.form-group{margin-bottom:var(--space-lg)}.form-label{display:block;font-size:.875rem;font-weight:500;color:var(--color-text);margin-bottom:var(--space-sm)}.form-input,.form-select,.form-textarea{width:100%;padding:var(--space-md) var(--space-lg);font-family:var(--font-body);font-size:.9375rem;color:var(--color-text);background:var(--color-cream);border:1.5px solid var(--color-stone);border-radius:var(--radius-md);transition:all var(--transition-fast)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:0;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(45,90,61,.1)}.form-textarea{resize:vertical;min-height:120px}.shop-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-xl)}.shop-product{background:var(--color-white);border:1px solid var(--color-stone);border-radius:var(--radius-xl);overflow:hidden;transition:all var(--transition-base);text-decoration:none;color:var(--color-text)}.shop-product:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px);color:var(--color-text)}.shop-product-image{aspect-ratio:1;background:var(--color-sand);overflow:hidden}.shop-product-image img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.shop-product:hover .shop-product-image img{transform:scale(1.05)}.shop-product-info{padding:var(--space-lg)}.shop-product-name{font-family:var(--font-heading);font-size:1.125rem;font-weight:500;margin-bottom:var(--space-xs)}.shop-product-price{font-size:.9375rem;font-weight:600;color:var(--color-primary)}.related-section{background:var(--color-sand);padding:var(--space-4xl) 0}.related-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-lg)}.related-card{display:block;padding:var(--space-xl);background:var(--color-white);border-radius:var(--radius-lg);text-align:center;text-decoration:none;color:var(--color-text);transition:all var(--transition-base);border:1px solid transparent}.related-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-3px);color:var(--color-primary)}.related-card-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-md);color:var(--color-primary)}.related-card-name{font-family:var(--font-heading);font-size:1.125rem;font-weight:500}.page-cta{padding:var(--space-5xl) 0;background:var(--color-cream)}.page-cta .cta-card{text-align:center;padding:var(--space-4xl);background:var(--color-white);border-radius:var(--radius-xl);border:1px solid var(--color-stone)}.case-study{margin:var(--space-2xl) 0;padding:var(--space-xl);background:rgba(45,90,61,.04);border-radius:var(--radius-lg);border:1px solid rgba(45,90,61,.1)}.case-study-label{display:inline-block;font-size:.6875rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--color-primary);margin-bottom:var(--space-md)}.case-study p{font-size:1rem;color:var(--color-text-muted);line-height:1.7}.stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--space-lg);margin:var(--space-2xl) 0;padding:var(--space-2xl);background:var(--color-white);border-radius:var(--radius-lg);border:1px solid var(--color-stone)}.stat-item{text-align:center}.stat-item .stat-number{display:block;font-family:var(--font-heading);font-size:2.25rem;font-weight:600;color:var(--color-primary);line-height:1}.stat-item .stat-label{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);margin-top:var(--space-xs)}.accreditations-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-lg);margin:var(--space-2xl) 0}.accreditation-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-lg);background:var(--color-white);border-radius:var(--radius-md);border:1px solid var(--color-stone)}.accreditation-item svg{flex-shrink:0;color:var(--color-primary)}.accreditation-item span{font-size:.9375rem;font-weight:500;color:var(--color-text)}.video-container{position:relative;width:100%;padding-bottom:56.25%;margin:var(--space-2xl) 0;border-radius:var(--radius-lg);overflow:hidden;background:var(--color-sand)}.video-container iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.video-section{padding:var(--space-3xl) 0}.video-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:var(--space-xl)}.video-card{background:var(--color-white);border:1px solid var(--color-stone);border-radius:var(--radius-xl);overflow:hidden}.video-card .video-container{margin:0;border-radius:0}.video-card-info{padding:var(--space-lg)}.video-card-title{font-family:var(--font-heading);font-size:1.125rem;font-weight:500;margin-bottom:var(--space-xs)}.content-image{margin:var(--space-2xl) 0;border-radius:var(--radius-lg);overflow:hidden}.content-image img{width:100%;height:auto;display:block}.content-image-caption{font-size:.8125rem;color:var(--color-text-muted);text-align:center;padding:var(--space-sm) var(--space-md);background:var(--color-sand)}.content-image-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--space-lg);margin:var(--space-2xl) 0}.content-image-grid img{width:100%;height:auto;min-height:200px;max-height:400px;object-fit:cover;border-radius:var(--radius-md)}.gallery-grid{display:grid;gap:var(--space-lg);margin:var(--space-2xl) 0}.gallery-grid-2{grid-template-columns:repeat(2,1fr)}.gallery-grid-3{grid-template-columns:repeat(3,1fr)}.gallery-grid img{width:100%;height:auto;max-height:400px;object-fit:cover;border-radius:var(--radius-md)}.treatment-card-image{margin-bottom:var(--space-md);border-radius:var(--radius-md);overflow:hidden;background:var(--color-sand)}.treatment-card-image img{width:100%;height:auto;max-height:300px;object-fit:cover;display:block}img.treatment-card-image{width:100%;height:auto;max-height:300px;object-fit:cover;border-radius:var(--radius-md);margin-bottom:var(--space-md)}.text-image{object-fit:contain!important;background:var(--color-sand)}@media (max-width:768px){.gallery-grid-2,.gallery-grid-3{grid-template-columns:1fr}}.image-float-right{float:right;max-width:400px;margin:0 0 var(--space-lg) var(--space-xl);border-radius:var(--radius-lg);overflow:hidden}.image-float-right img{width:100%;height:auto;display:block}.image-float-left{float:left;max-width:400px;margin:0 var(--space-xl) var(--space-lg) 0;border-radius:var(--radius-lg);overflow:hidden}.image-float-left img{width:100%;height:auto;display:block}.page-hero-bg.has-image{background-size:cover;background-position:center;background-repeat:no-repeat}.page-hero-bg.has-image::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(30,61,42,.85) 0,rgba(45,90,61,.8) 50%,rgba(30,61,42,.88) 100%);z-index:1}.img-container-rounded{border-radius:.75rem;overflow:hidden}.img-container-centered{border-radius:.75rem;overflow:hidden;max-width:900px;margin:0 auto}.img-container-centered-mb{border-radius:.75rem;overflow:hidden;max-width:900px;margin:0 auto 3rem}.img-responsive-cover{width:100%;height:auto;max-height:400px;object-fit:cover;display:block;border-radius:8px}.img-responsive-block{width:100%;height:auto;display:block}.img-responsive-block-cover{width:100%;height:auto;display:block;object-fit:cover}.course-schedule{display:flex;flex-direction:column;gap:var(--space-lg)}.card-horizontal{display:flex;gap:2rem;align-items:flex-start}.date-badge{flex-shrink:0;text-align:center;min-width:80px}.date-badge-month{display:block;font-size:2rem;font-weight:700;line-height:1}.date-badge-year{display:block;font-size:1rem;opacity:.7}.year-badge{font-size:1.5rem;font-weight:700}.grid-auto-fill-280{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.grid-auto-fill-280-gap{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.form-container{max-width:640px;margin:0 auto}.form-grid{display:grid;gap:1.5rem}.form-row-2col{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-label-inline{display:block;margin-bottom:.5rem;font-weight:500}.form-input-styled{width:100%;padding:.75rem 1rem;border:1px solid rgba(0,0,0,.15);border-radius:.5rem;font-size:1rem;font-family:inherit}.form-input-styled:focus{outline:0;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(45,90,61,.1)}.form-select-styled{width:100%;padding:.75rem 1rem;border:1px solid rgba(0,0,0,.15);border-radius:.5rem;font-size:1rem;font-family:inherit;background:#fff}.form-select-styled:focus{outline:0;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(45,90,61,.1)}.form-textarea-styled{width:100%;padding:.75rem 1rem;border:1px solid rgba(0,0,0,.15);border-radius:.5rem;font-size:1rem;font-family:inherit;resize:vertical}.form-textarea-styled:focus{outline:0;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(45,90,61,.1)}.mt-1{margin-top:1rem}.w-full{width:100%}@media (max-width:1024px){.content-grid{grid-template-columns:1fr}.content-sidebar{position:static;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg)}}@media (max-width:768px){.page-hero{min-height:40vh}.content-sidebar{grid-template-columns:1fr}.contact-grid{grid-template-columns:1fr}.process-steps{grid-template-columns:1fr}.calendar-item{flex-direction:column;align-items:flex-start}.calendar-date{width:100%;height:auto;flex-direction:row;gap:var(--space-sm);padding:var(--space-md)}.stats-row{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.page-hero-content{padding:var(--space-2xl) var(--space-md)}.benefits-grid{grid-template-columns:1fr}.conditions-grid{grid-template-columns:1fr}.shop-grid{grid-template-columns:1fr 1fr}.stats-row{grid-template-columns:1fr 1fr;padding:var(--space-lg)}.video-grid{grid-template-columns:1fr}.image-float-left,.image-float-right{float:none;max-width:100%;margin:var(--space-lg) 0}} Retreat page – body prose -------------------------------------------------------------------------- */ .retreat-prose { max-width: 920px; margin: 0 auto; color: var(--color-text); font-size: 1.0625rem; line-height: 1.75; text-align: left; } .retreat-prose > h3 { font-family: var(--font-heading); font-weight: 600; font-size: clamp(1.625rem, 2.5vw, 2rem); line-height: 1.2; color: var(--color-primary); margin: var(--space-3xl) 0 var(--space-md); padding-bottom: var(--space-sm); border-bottom: 1px solid var(--color-stone); letter-spacing: -0.01em; } .retreat-prose > h3:first-child { margin-top: var(--space-md); } .retreat-prose > p { margin: 0 0 var(--space-md); color: var(--color-text-muted); } .retreat-prose .retreat-intro { color: var(--color-text); font-weight: 500; font-size: 1.125rem; margin-bottom: var(--space-md); } .retreat-list { list-style: none; padding: 0; margin: 0 0 var(--space-lg); } .retreat-list li { position: relative; padding: 0 0 0 1.75rem; margin-bottom: var(--space-sm); line-height: 1.65; color: var(--color-text-muted); } .retreat-list li::before { content: ""; position: absolute; left: 0.35rem; top: 0.7em; width: 7px; height: 7px; border-radius: 50%; background: var(--color-accent); } .retreat-prose strong { color: var(--color-primary-dark); font-weight: 600; } /* Team grid */ .retreat-team-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-lg); margin: 0 0 var(--space-lg); } .retreat-team-card { background: var(--color-cream); border: 1px solid var(--color-stone); border-radius: var(--radius-md); padding: var(--space-xl); box-shadow: var(--shadow-sm); } .retreat-team-name { font-family: var(--font-heading); font-weight: 600; font-size: 1.375rem; color: var(--color-primary); margin: 0 0 var(--space-sm); line-height: 1.25; } .retreat-team-card p { margin: 0; font-size: 0.9375rem; color: var(--color-text-muted); line-height: 1.65; } @media (max-width: 900px) { .retreat-team-grid { grid-template-columns: 1fr; } } /* Program grid */ .retreat-program-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-lg); margin: 0 0 var(--space-lg); } .retreat-day-card { background: var(--color-white); border: 1px solid var(--color-stone); border-radius: var(--radius-md); padding: var(--space-xl); box-shadow: var(--shadow-sm); } .retreat-day-title { font-family: var(--font-heading); font-weight: 600; font-size: 1.375rem; color: var(--color-primary); margin: 0 0 var(--space-md); padding-bottom: var(--space-sm); border-bottom: 1px solid var(--color-stone); letter-spacing: 0.01em; } .retreat-schedule { list-style: none; padding: 0; margin: 0; } .retreat-schedule li { display: grid; grid-template-columns: 6.75rem 1fr; gap: var(--space-md); padding: 0.4rem 0; font-size: 0.9375rem; line-height: 1.5; border-bottom: 1px dashed rgba(224, 214, 200, 0.55); } .retreat-schedule li:last-child { border-bottom: 0; } .retreat-time { font-variant-numeric: tabular-nums; color: var(--color-primary); font-weight: 600; font-size: 0.8125rem; letter-spacing: 0.02em; padding-top: 0.05rem; } .retreat-event { color: var(--color-text-muted); } @media (max-width: 1024px) { .retreat-program-grid { grid-template-columns: 1fr; } } @media (max-width: 480px) { .retreat-day-card, .retreat-team-card { padding: var(--space-lg); } .retreat-schedule li { grid-template-columns: 5.25rem 1fr; gap: var(--space-sm); } .retreat-prose > h3 { margin-top: var(--space-2xl); } }  /* -------------------------------------------------------------------------- Retreat page – food gallery -------------------------------------------------------------------------- */ .retreat-gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-lg); margin: var(--space-2xl) auto 0; max-width: 1100px; } .retreat-gallery__item { position: relative; margin: 0; border-radius: var(--radius-md); overflow: hidden; background: var(--color-sand); box-shadow: var(--shadow-sm); aspect-ratio: 4 / 3; cursor: zoom-in; transition: transform 0.35s ease, box-shadow 0.35s ease; } .retreat-gallery__item:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); } .retreat-gallery__item img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.6s ease; } .retreat-gallery__item:hover img { transform: scale(1.04); } .retreat-gallery__item figcaption { position: absolute; inset: auto 0 0 0; padding: var(--space-md) var(--space-lg) var(--space-md); background: linear-gradient(to top, rgba(26, 23, 20, 0.75) 0%, rgba(26, 23, 20, 0.4) 60%, rgba(26, 23, 20, 0) 100%); color: var(--color-white); font-size: 0.9375rem; font-weight: 500; letter-spacing: 0.01em; line-height: 1.3; text-align: left; pointer-events: none; } @media (max-width: 900px) { .retreat-gallery { grid-template-columns: repeat(2, 1fr); gap: var(--space-md); } } @media (max-width: 520px) { .retreat-gallery { grid-template-columns: 1fr; } .retreat-gallery__item { aspect-ratio: 3 / 2; } } 