:root {
    --condrieu-navy: #151515;
    --condrieu-navy-soft: #242424;
    --condrieu-rust: #9a6b4e;
    --condrieu-rust-hover: #ad7c5e;
    --condrieu-rust-dark: #76513b;
    --condrieu-rust-light: #e7baa7;
    --condrieu-cream: #f6f2eb;
    --condrieu-ink: #1b1b1b;
    --condrieu-radius: 10px;
}

html { scroll-behavior: smooth; }
body { color: var(--condrieu-ink); background: #fff; }
a { text-decoration: none; }
.condrieu-about__image--main,
.home-facilities__stat,
.condrieu-services-showcase .service_inner,
.condrieu-projects-showcase .project_inner,
.gallery-card,
.price-card,
.pricing-rates-wrap,
.pricing-notes,
.blog .blog_thumb,
.blog .blog_content,
.contact_form,
.contact-form-card,
.contact-info-card,
.activity-detail__image img,
.activity-detail__cta,
.document-card,
.rich-content figure img,
.rich-content > img,
.error-page__visual img {
    border-radius: var(--condrieu-radius);
}
.condrieu-services-showcase .service_inner,
.condrieu-projects-showcase .project_inner,
.gallery-card,
.pricing-rates-wrap,
.blog .blog_thumb {
    overflow: hidden;
}
.ts-btn, .ts-btn-lg, .ts-btn-white, .ts-btn-lg-white {
    border-radius: var(--condrieu-radius);
    transition: background-color .2s ease, color .2s ease;
}
.ts-btn::before, .ts-btn-lg::before, .ts-btn-white::before, .ts-btn-lg-white::before,
.ts-btn::after, .ts-btn-lg::after, .ts-btn-white::after, .ts-btn-lg-white::after {
    display: none;
}
.ts-btn:hover, .ts-btn-lg:hover, .ts-btn-white:hover, .ts-btn-lg-white:hover {
    background-color: var(--condrieu-rust-hover);
    color: #fff;
}
.skip-link { position: fixed; top: -100px; left: 1rem; z-index: 99999; padding: .75rem 1rem; background: #fff; color: #111; }
.skip-link:focus { top: 1rem; }
.honeypot { position: absolute !important; left: -9999px !important; }

.condrieu-header .main_header { padding: 0; border-bottom: 1px solid rgba(255,255,255,.08); background: rgba(21,21,21,.94); box-shadow: 0 8px 28px rgba(0,0,0,.18); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); transition: background .25s ease, box-shadow .25s ease; }
.condrieu-header .main_header.header_sticky { background: var(--condrieu-navy); box-shadow: 0 8px 25px rgba(0,0,0,.18); }
.condrieu-header .ts-container { max-width: 1560px; padding-inline: 28px; }
.brand-mark { display: inline-flex; width: 100%; max-width: 300px; align-items: center; gap: 12px; min-height: 98px; padding: 10px 18px 10px 0; color: #fff; }
.brand-mark:hover { color: #fff; }
.brand-mark__logo { display: block; width: 100%; max-width: 100%; height: auto; object-fit: contain; }
.brand-mark--mobile { max-width: 230px; }
.brand-mark--footer { max-width: 300px; }
.brand-mark > i { font-size: 48px; line-height: 1; }
.brand-mark > span { display: flex; flex-direction: column; font-family: "Poppins", sans-serif; font-size: 20px; line-height: 1; letter-spacing: .03em; text-transform: uppercase; }
.brand-mark small { display: block; font: inherit; margin-top: 6px; }
.condrieu-header .menu_area, .condrieu-header .main_menu { width: 100%; }
.condrieu-header .main_menu > ul { flex-wrap: nowrap; justify-content: flex-end; gap: clamp(23px, 3.6vw, 40px); }
.condrieu-header .main_menu > ul > li { flex: 0 0 auto; padding: 0; margin-left: 0 !important; }
.condrieu-header .main_menu > ul > li > a { color: #fff; font-size: 15px; font-weight: 600; white-space: nowrap; letter-spacing: .02em; padding: 41px 0; }
.condrieu-header .main_menu > ul > li > a:hover,
.condrieu-header .main_menu > ul > li > a:focus { color: var(--condrieu-rust-light); }
.condrieu-header .main_menu > ul > li > a::after { bottom: 31px; height: 2px; background: var(--condrieu-rust); }
.condrieu-header .main_menu > ul > li.nav-contact > a { padding: 12px 18px; border: 1px solid rgba(255,255,255,.48); border-radius: 50px; }
.condrieu-header .main_menu > ul > li.nav-contact > a::after { display: none; }
.condrieu-header .main_menu > ul > li.nav-contact > a:hover,
.condrieu-header .main_menu > ul > li.nav-contact > a:focus { border-color: var(--condrieu-rust); background: var(--condrieu-rust); color: #fff; }
.condrieu-header .header_sticky .main_menu > ul > li { padding: 0; }
.condrieu-header .menu_area .menu_bar .menu_bar_icon { display: grid; place-items: center; border: 1px solid var(--condrieu-rust); background: var(--condrieu-rust); color: #fff; width: 46px; height: 46px; font-size: 22px; line-height: 1; border-radius: var(--condrieu-radius); transition: border-color .2s ease, background-color .2s ease; }
.condrieu-header .menu_area .menu_bar .menu_bar_icon:hover,
.condrieu-header .menu_area .menu_bar .menu_bar_icon:focus-visible { border-color: var(--condrieu-rust-hover); background: var(--condrieu-rust-hover); }
.brand-mark--mobile { min-height: 70px; padding: 0; color: var(--condrieu-navy); }
.brand-mark--mobile > i { font-size: 40px; }
.brand-mark--mobile > span { font-size: 17px; }
.offcanvas-area .info_list a { color: #fff; display: flex; align-items: center; gap: 12px; margin: 12px 0; }

.condrieu-hero { min-height:760px; overflow:hidden; background:var(--condrieu-navy); }
.condrieu-hero::before { display:none; }
.condrieu-hero::after { top:auto; bottom:-250px; left:-190px; width:520px; height:520px; border:1px solid rgba(255,255,255,.07); border-radius:50%; background:transparent; opacity:1; }
.condrieu-hero .ts-container { position:relative; z-index:2; }
.condrieu-hero__layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(390px,.82fr); min-height:760px; align-items:stretch; gap:clamp(44px,6vw,100px); padding:138px 0 48px; }
.condrieu-hero .hero_content_wrapper { grid-column:1; height:auto; min-height:0; padding:0; }
.condrieu-hero .hero_content_inner { max-width:660px; }
.condrieu-hero .hero_content_inner .subtitle { margin-bottom:20px; padding:10px 17px; font-size:13px; font-weight:600; letter-spacing:.02em; }
.condrieu-hero .hero_content_inner .title { max-width:660px; margin-bottom:25px; font-size:clamp(2.8rem,4.7vw,4.35rem); line-height:1.04; letter-spacing:-.035em; }
.condrieu-hero .hero_content_inner .text { max-width:600px; margin:0; color:rgba(255,255,255,.76); font-size:17px; line-height:1.75; }
.condrieu-hero .hero_content_inner .hero_btn { margin-top:36px; }
.condrieu-hero__media { position:absolute; top:0; right:calc((100vw - 100%) / -2); bottom:0; width:calc(46% + (100vw - 100%) / 2); min-width:0; margin:0; overflow:hidden; border-radius:var(--condrieu-radius) 0 0 var(--condrieu-radius); background:#241315; box-shadow:-25px 0 70px rgba(0,0,0,.25); }
.condrieu-hero__media::before { position:absolute; z-index:1; inset:0; border:1px solid rgba(255,255,255,.12); border-radius:inherit; content:""; pointer-events:none; }
.condrieu-hero__media img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 40%; }

.content_subtitle { display: inline-block; color: var(--condrieu-rust); font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.condrieu-about.layout-2 .about_image { min-height: 0; isolation: isolate; }
.condrieu-about.layout-2 .about_image::after { left: auto; bottom: auto; border-color: var(--condrieu-rust); animation: none; }
.condrieu-about.layout-2 .about_image .condrieu-about__image--main { position: relative; z-index: 1; display: block; width: 100%; aspect-ratio: 452 / 562; object-fit: cover; }
.about-section .content_text p { font-size: 16px; line-height: 1.8; }
.condrieu-about .item_title { font-size: 19px; }

.home-facilities { position: relative; overflow: hidden; background: var(--condrieu-navy); color: #fff; }
.home-facilities::before { position: absolute; top: -220px; right: -170px; width: 470px; height: 470px; border: 1px solid rgba(255,255,255,.08); border-radius: 50%; content: ""; }
.home-facilities .content_subtitle { color: var(--condrieu-rust-light); }
.home-facilities__intro { position: relative; z-index: 1; max-width: 520px; }
.home-facilities__intro h2 { margin: 9px 0 20px; color: #fff; font-size: clamp(2rem, 3.2vw, 3.2rem); line-height: 1.12; }
.home-facilities__intro p { margin-bottom: 30px; color: rgba(255,255,255,.72); font-size: 16px; line-height: 1.8; }
.home-facilities__stats { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 20px; }
.home-facilities__stat { display: flex; min-height: 180px; flex-direction: column; justify-content: flex-end; border-radius: 10px; padding: 28px; background: rgba(255,255,255,.055); transition: border-color .2s ease, background .2s ease; }
.home-facilities__stat:hover { border-color: color-mix(in srgb, var(--condrieu-rust-light) 70%, transparent); background: rgba(255,255,255,.085); }
.home-facilities__stat strong { color: var(--condrieu-rust-light); font-family: "Poppins", sans-serif; font-size: clamp(2rem, 3.2vw, 3rem); line-height: 1; }
.home-facilities__stat span { margin-top: 11px; color: #fff; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }

.condrieu-callout .cta-bg-image { background-size: cover; background-position: center; }
.condrieu-callout .cta-bg-color { background: var(--condrieu-rust-dark); }
.condrieu-callout .title { max-width: 900px; }

.section-padding { padding-top: 128px; padding-bottom: 118px; padding-left: 40px; padding-right: 40px; }
.section_title { margin-bottom: 60px; }
.section_title .title { color: var(--condrieu-navy); }
.section-action { margin-top: 50px; }
.condrieu-services-showcase > .container > .row,
.pricing-section > .container > .row,
.latest-blog-section > .container > .row,
.pricing-formulas-grid { --bs-gutter-y: 2rem; }
.service { height: 100%; }
.service_inner { height: 100%; }
.service_thumb .image img { width: 100%; height: 280px; object-fit: cover; }
.service_content .title { font-size: 23px; }
.condrieu-services-showcase { background: var(--condrieu-cream); }
.condrieu-services-showcase .service { margin-bottom: 0; }
.condrieu-services-showcase .service_inner { display: flex; flex-direction: column; overflow: hidden; }
.condrieu-services-showcase .service.layout-2 .service_content { display: flex; flex: 1; flex-direction: column; align-items: center; padding: 36px 30px; }
.condrieu-services-showcase .service.layout-2 .service_content .icon { margin-bottom: 12px; color: var(--condrieu-rust); font-size: 68px; line-height: 1; }
.condrieu-services-showcase .service.layout-2 .service_content .title { margin-bottom: 13px; font-size: 21px; }
.condrieu-services-showcase .service.layout-2 .service_content .text { color: #655f5a; font-size: 15px; line-height: 1.7; }
.condrieu-services-showcase .service.layout-2 .service_thumb { height: 225px; max-height: none; }
.condrieu-services-showcase .service.layout-2 .service_thumb .image,
.condrieu-services-showcase .service.layout-2 .service_thumb .image img { width: 100%; height: 100%; }
.condrieu-services-showcase .service.layout-2:hover .service_content { background: var(--condrieu-rust); }

.projects-section.layout-2.condrieu-projects-showcase { overflow: hidden; padding-top: 120px; padding-bottom: 128px; background: #fff; }
.condrieu-projects-showcase .section_title_content { max-width: 690px; }
.condrieu-projects-showcase .section_title .title { margin: 0px 0 10px; }
.condrieu-projects-showcase .section_title .description { max-width: 620px; }
.home-gallery-carousel { position: relative; }
.home-gallery-carousel__viewport { overflow: hidden; }
.home-gallery-carousel__track { display: flex; will-change: transform; transition: transform .7s cubic-bezier(.22,.61,.36,1); }
.home-gallery-carousel__slide { flex: 0 0 25%; max-width: none; margin: 0; padding: 0 7px; }
.condrieu-projects-showcase.layout-2 .project { height: 430px; max-height: 430px; }
.home-gallery-carousel__controls { display: flex; align-items: center; justify-content: center; gap: 18px; margin-top: 34px; padding: 0 20px; }
.home-gallery-carousel__controls > button { display: grid; flex: 0 0 auto; place-items: center; width: 44px; height: 44px; border: 1px solid #d7d1cc; border-radius: 50%; background: #fff; color: var(--condrieu-navy); transition: border-color .2s ease, background .2s ease, color .2s ease; }
.home-gallery-carousel__controls > button:hover,
.home-gallery-carousel__controls > button:focus-visible { border-color: var(--condrieu-rust); background: var(--condrieu-rust); color: #fff; }
.home-gallery-carousel__controls > button:disabled { cursor: default; opacity: .35; }
.home-gallery-carousel__pagination { display: flex; align-items: center; justify-content: center; gap: 8px; }
.home-gallery-carousel__pagination button { width: 9px; height: 9px; padding: 0; border: 0; border-radius: 50%; background: #cdc6c0; transition: width .2s ease, border-radius .2s ease, background .2s ease; }
.home-gallery-carousel__pagination button[aria-current="true"] { width: 28px; border-radius: 999px; background: var(--condrieu-rust); }

.gallery-tabs-wrap { max-width: 920px; margin: 0 auto 52px; text-align: center; }
.gallery-tabs { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.gallery-tab { padding: 12px 22px; border: 1px solid var(--condrieu-rust); border-radius: 10px; background: transparent; color: var(--condrieu-rust); font-weight: 700; transition: background .2s ease, border-color .2s ease, color .2s ease; }
.gallery-tab:hover, .gallery-tab:focus-visible { border-color: var(--condrieu-rust-light); color: var(--condrieu-rust-light); }
.gallery-tab.is-active { border-color: var(--condrieu-rust); background: var(--condrieu-rust); color: #fff; }
.gallery-category-descriptions { margin-top: 22px; }
.gallery-category-descriptions p { max-width: 720px; margin: 0 auto; color: black; font-size: 16px; line-height: 1.7; }
.gallery-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 24px; }
.gallery-card { position: relative; grid-column: span 4; min-height: 330px; overflow: hidden; }
.gallery-card:nth-child(1), .gallery-card:nth-child(5) { grid-column: span 8; }
.gallery-card img { width: 100%; height: 100%; min-height: 330px; object-fit: cover; transition: transform .45s ease; }
.gallery-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(transparent 35%, rgba(8,14,25,.85)); }
.gallery-card > span { position: absolute; z-index: 2; left: 26px; bottom: 22px; color: #fff; font-family: "Poppins", sans-serif; font-size: 22px; }
.gallery-card small { display: block; font-family: inherit; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; margin-top: 5px; opacity: .8; }
.gallery-card:hover img { transform: scale(1.05); }
.gallery-card--video { background: #111; }
.gallery-card--video::after { display: none; }
.gallery-card--video video { display: block; width: 100%; height: 100%; min-height: 330px; object-fit: cover; background: #111; }
.gallery-card--video > .gallery-card__caption { top: 18px; bottom: auto; max-width: calc(100% - 52px); padding: 9px 13px; background: rgba(9,18,33,.82); pointer-events: none; }
.gallery-card--video .gallery-card__caption small { color: #fff; opacity: .9; }
.gallery-empty { grid-column: 1 / -1; color: rgba(255,255,255,.8); text-align: center; }

.soft-section { background: var(--condrieu-cream); }
.price-card { height: 100%; padding: 42px 36px; background: #fff; border-top: 4px solid var(--condrieu-rust); box-shadow: 0 20px 55px rgba(20,20,20,.08); }
.price-card.featured { background: var(--condrieu-navy); color: #fff; transform: translateY(-10px); }
.price-kicker { color: var(--condrieu-rust); font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.price-card h3 { margin: 10px 0 20px; color: inherit; font-size: 27px; }
.price { display: flex; align-items: end; gap: 8px; padding-bottom: 24px; margin-bottom: 24px; border-bottom: 1px solid rgba(20,20,20,.12); }
.price strong { font-family: "Poppins", sans-serif; font-size: 42px; line-height: 1; }
.price span { opacity: .7; }
.price-card ul { margin: 0 0 30px; padding: 0; list-style: none; }
.price-card li { display: flex; gap: 10px; padding: 8px 0; }
.price-card li i { color: var(--condrieu-rust); margin-top: 5px; }
.pricing-block + .pricing-block { margin-top: 115px; }
.pricing-block .section_title p { max-width: 700px; margin: 15px auto 0; font-size: 16px; }
.pricing-rates-wrap { overflow-x: auto; background: #fff; box-shadow: 0 20px 55px rgba(20,20,20,.08); }
.pricing-rates-table { width: 100%; min-width: 720px; border-collapse: collapse; color: var(--condrieu-navy); }
.pricing-rates-table th, .pricing-rates-table td { padding: 22px 26px; border-bottom: 1px solid #e3e0db; text-align: left; vertical-align: top; }
.pricing-rates-table thead th { background: var(--condrieu-navy); color: #fff; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; }
.pricing-rates-table tbody th { width: 25%; font-family: "Poppins", sans-serif; font-size: 19px; }
.pricing-rates-table tbody td:nth-child(2) { width: 50%; color: #555f6e; }
.pricing-rates-table tbody td:last-child { width: 25%; white-space: nowrap; }
.pricing-rates-table tbody td:last-child strong { display: block; color: var(--condrieu-rust); font-family: "Poppins", sans-serif; font-size: 25px; }
.pricing-rates-table tbody td:last-child span { display: block; margin-top: 3px; color: #687180; font-size: 13px; }
.pricing-rates-table ul { margin: 9px 0 0; padding-left: 18px; }
.pricing-rates-table tbody tr:last-child > * { border-bottom: 0; }
.price-card--table { display: flex; flex-direction: column; }
.formula-table { width: 100%; margin: 0 0 30px; border-collapse: collapse; }
.formula-table th, .formula-table td { padding: 12px 0; border-bottom: 1px solid rgba(20,20,20,.12); text-align: left; vertical-align: top; }
.formula-table th { padding-right: 15px; font-weight: 600; }
.formula-table td:last-child { text-align: right; white-space: nowrap; }
.price-card.featured .formula-table th, .price-card.featured .formula-table td { border-bottom-color: rgba(255,255,255,.15); color: #fff; }
.price-card--table .ts-btn { align-self: flex-start; margin-top: auto; }
.pricing-notes { max-width: 900px; margin: 80px auto 0; padding: 38px 42px; border-left: 4px solid var(--condrieu-rust); background: #fff; }
.pricing-notes h2 { margin-bottom: 18px; font-size: 25px; }
.pricing-notes ul { margin: 0; padding-left: 20px; }
.pricing-notes li + li { margin-top: 9px; }
.text-link { color: var(--condrieu-navy); font-weight: 700; }

.blog_thumb img { width: 100%; height: 280px; object-fit: cover; }
.post-label { color: var(--condrieu-rust); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }

.home-contact { background: var(--condrieu-navy); color: #fff; }
.home-contact h2 { color: #fff; font-size: clamp(2.25rem, 3.4vw, 3.6rem); }
.home-contact p { color: rgba(255,255,255,.76); font-size: 16px; }
.contact-shortcuts { display: grid; gap: 12px; margin-top: 28px; }
.contact-shortcuts a { display: flex; align-items: center; gap: 12px; color: #fff; }
.contact-form-card { position: relative; background: #fff; color: var(--condrieu-ink); padding: 38px; }
.contact-form-card label { display: block; margin-bottom: 7px; color: var(--condrieu-navy); font-size: 13px; font-weight: 700; }
.contact-form-card input, .contact-form-card textarea { width: 100%; border: 1px solid #d8dce2; background: #f8f9fb; padding: 13px 14px; }
.contact-form-card input:focus, .contact-form-card textarea:focus { outline: 2px solid color-mix(in srgb, var(--condrieu-rust) 25%, transparent); border-color: var(--condrieu-rust); }
.contact-form-card small { display: block; color: #b42318; margin-top: 5px; }

.page-hero { min-height: 300px; display: flex; align-items: end; padding: 170px 0 85px; color: #fff; background-size: cover; background-position: center; position: relative; }
.page-hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(8,8,8,.98), rgba(8,8,8,.50)); }
.page-hero .container { position: relative; z-index: 1; }
.page-hero h1 { color: #fff; font-size: clamp(2.4rem, 4.2vw, 4.2rem); }
.breadcrumbs { display: flex; gap: 10px; color: rgba(255,255,255,.78); }
.breadcrumbs a { color: #fff; }
.content-section { padding: 115px 0; }
.prose { font-size: 16px; line-height: 1.8; }
.prose h2, .prose h3 { color: var(--condrieu-navy); }
.activity-detail { overflow: hidden; background: #fff; }
.activity-detail__content { padding-right: 28px; }
.activity-detail__prose h2 { margin: 9px 0 24px; font-size: clamp(1.8rem, 2.8vw, 2.6rem); }
.activity-detail__prose { color: #5f5b57; }
.activity-detail__image { position: relative; margin: 0; padding: 0 0 28px 28px; }
.activity-detail__image::before { position: absolute; right: -80px; bottom: 0; width: calc(100% + 20px); height: 76%; background: var(--condrieu-cream); content: ""; }
.activity-detail__image img { position: relative; z-index: 1; display: block; width: 100%; height: 570px; object-fit: cover; }
.activity-detail__cta { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 38px; padding: 22px 24px; border-left: 4px solid var(--condrieu-rust); background: var(--condrieu-cream); }
.activity-detail__cta-content { display: flex; align-items: center; gap: 16px; }
.activity-detail__cta-content > div { display: grid; gap: 3px; }
.activity-detail__cta-content span:not(.activity-detail__cta-icon) { color: var(--condrieu-rust); font-size: 12px; font-weight: 700; letter-spacing: .04em; }
.activity-detail__cta-content strong { color: var(--condrieu-navy); font-family: "Poppins", sans-serif; font-size: 15px; line-height: 1.45; }
.activity-detail__cta-icon { display: grid; flex: 0 0 auto; place-items: center; width: 48px; height: 48px; border-radius: 50%; background: #fff; color: var(--condrieu-rust); font-size: 21px; }
.activity-detail__cta .ts-btn { flex: 0 0 auto; padding: 12px 19px; font-size: 12px; }
.rich-content h2 { margin: 48px 0 18px; font-size: 30px; }
.rich-content h3 { margin: 38px 0 15px; font-size: 23px; }
.rich-content p { margin-bottom: 20px; }
.rich-content ul, .rich-content ol { margin: 0 0 24px; padding-left: 26px; }
.rich-content blockquote { margin: 32px 0; padding: 18px 24px; border-left: 4px solid var(--condrieu-rust); background: var(--condrieu-cream); font-size: 18px; }
.rich-content figure { margin: 36px 0; }
.rich-content figure img, .rich-content > img { display: block; width: 100%; height: auto; }
.rich-content figcaption { margin-top: 10px; color: #6f6a66; font-size: 13px; text-align: center; }
.document-group { margin-bottom: 44px; }
.document-list { display: grid; gap: 18px; }
.document-card { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 26px; border-radius: 10px; background: #fff; border: 1px solid #e5e7eb; color: var(--condrieu-navy); }
.document-card:hover { border-color: var(--condrieu-rust); color: var(--condrieu-rust); }
.contact-info-card { height: 100%; padding: 40px; background: var(--condrieu-navy); color: #fff; }
.contact-info-card h2 { color: #fff; }
.contact-info-card a { color: #fff; }
.contact-info-list { display: grid; gap: 20px; margin-top: 28px; }
.contact-info-list > div { display: flex; gap: 14px; }
.contact-info-list i { color: var(--condrieu-rust-light); margin-top: 5px; }

.error-page { position: relative; display: flex; min-height: 760px; align-items: center; overflow: hidden; padding: 170px 0 100px; color: #fff; background: linear-gradient(125deg, #151515 0%, #24211f 68%, #3c2d24 130%); }

.error-page .container { position: relative; z-index: 1; }
.error-page__content { max-width: 650px; }
.error-page__eyebrow { display: inline-block; margin-bottom: 8px; color: var(--condrieu-rust-light); font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.error-page__number { margin-left: -7px; color: transparent; font-family: "Poppins", sans-serif; font-size: clamp(5.8rem, 11vw, 9.5rem); font-weight: 800; line-height: .9; letter-spacing: -.08em; -webkit-text-stroke: 2px color-mix(in srgb, var(--condrieu-rust-light) 58%, transparent); }
.error-page h1 { max-width: 600px; margin: 22px 0 18px; color: #fff; font-size: clamp(2.3rem, 4vw, 4rem); line-height: 1.08; }
.error-page__content > p { max-width: 590px; margin: 0; color: rgba(255,255,255,.7); font-size: 16px; line-height: 1.75; }
.error-page__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.error-page__button { display: inline-flex; min-height: 51px; align-items: center; justify-content: center; gap: 12px; padding: 13px 22px; border: 1px solid transparent; border-radius: 9px; font-size: 14px; font-weight: 700; transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease; }
.error-page__button:hover { transform: translateY(-2px); }
.error-page__button--primary { color: #fff; border-color: var(--condrieu-rust); background: var(--condrieu-rust); }
.error-page__button--primary:hover { color: #fff; border-color: var(--condrieu-rust-hover); background: var(--condrieu-rust-hover); }
.error-page__button--secondary { color: #fff; border-color: rgba(255,255,255,.38); background: transparent; }
.error-page__button--secondary:hover { color: #fff; border-color: #fff; background: rgba(255,255,255,.08); }
.error-page__links { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 38px; color: rgba(255,255,255,.45); font-size: 13px; }
.error-page__links span { flex-basis: 100%; }
.error-page__links a { position: relative; color: rgba(255,255,255,.78); font-weight: 600; }
.error-page__links a::after { position: absolute; right: 0; bottom: -4px; left: 0; height: 1px; background: color-mix(in srgb, var(--condrieu-rust-light) 50%, transparent); content: ""; }
.error-page__links a:hover { color: var(--condrieu-rust-light); }
.error-page__visual { position: relative; margin: 0; padding: 0 0 30px 30px; }
.error-page__visual::before { position: absolute; right: -45px; bottom: 0; width: 84%; height: 76%; border: 1px solid color-mix(in srgb, var(--condrieu-rust-light) 35%, transparent); content: ""; }
.error-page__visual img { position: relative; z-index: 1; display: block; width: 100%; height: 520px; object-fit: cover; filter: saturate(.82) contrast(1.03); }
.error-page__visual figcaption { position: absolute; z-index: 2; right: -16px; bottom: 5px; display: flex; align-items: center; gap: 10px; padding: 15px 19px; color: var(--condrieu-navy); background: #fff; box-shadow: 0 18px 45px rgba(0,0,0,.2); font-size: 12px; font-weight: 700; }
.error-page__visual figcaption span { color: var(--condrieu-rust); font-size: 21px; }

.global-conversion-cta {
    position: relative;
    overflow: hidden;
    padding: 72px 0;
    color: #fff;
    background: linear-gradient(135deg, var(--condrieu-rust-dark), var(--condrieu-rust));
}

.global-partner-banner { padding: 54px 0; border-top: 1px solid color-mix(in srgb, var(--condrieu-rust) 18%, transparent); background: var(--condrieu-cream); }
.partner-banner__inner { display: grid; grid-template-columns:minmax(230px,.65fr) minmax(0,1.8fr); align-items:center; gap:42px; }
.partner-banner__content { max-width:420px; }
.partner-banner__eyebrow { display: block; margin-bottom: 6px; color: var(--condrieu-rust-dark); font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.partner-banner__content h2 { margin: 0; color: var(--condrieu-navy); font-size: clamp(1.45rem, 2.2vw, 2rem); line-height: 1.2; }
.partner-banner__content p { margin: 8px 0 0; color: #625d58; font-size: 15px; line-height: 1.65; }
.partner-banner__logos { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:16px; }
.partner-banner__logo { display:grid; flex:1 1 155px; max-width:210px; min-height:108px; place-items:center; padding:18px; overflow:hidden; border:1px solid rgba(21,21,21,.08); border-radius:var(--condrieu-radius); background:#fff; box-shadow:0 8px 25px rgba(24,18,14,.04); }
.partner-banner__logo img { display:block; max-width:100%; max-height:76px; width:auto; height:auto; object-fit:contain; }
.partner-banner__logo--linked { transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.partner-banner__logo--linked:hover,
.partner-banner__logo--linked:focus-visible { border-color:color-mix(in srgb,var(--condrieu-rust) 48%,transparent); box-shadow:0 12px 28px rgba(24,18,14,.08); transform:translateY(-2px); }
.global-conversion-cta::before,
.global-conversion-cta::after {
    position: absolute;
    content: "";
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 50%;
    pointer-events: none;
}
.global-conversion-cta::before { width: 360px; height: 360px; top: -240px; right: 8%; }
.global-conversion-cta::after { width: 220px; height: 220px; bottom: -170px; left: 3%; }
.global-cta__inner { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 50px; }
.global-cta__content { max-width: 720px; }
.global-cta__eyebrow { display: block; margin-bottom: 10px; color: rgba(255,255,255,.78); font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.global-cta__content h2 { margin: 0 0 14px; color: #fff; font-size: clamp(2rem, 3.2vw, 3.1rem); line-height: 1.15; }
.global-cta__content p { max-width: 680px; margin: 0; color: rgba(255,255,255,.82); font-size: 16px; line-height: 1.7; }
.global-cta__actions { display: flex; flex: 0 0 auto; flex-direction: column; align-items: stretch; gap: 12px; min-width: 245px; }
.global-cta__button { display: inline-flex; align-items: center; justify-content: center; gap: 11px; min-height: 52px; padding: 14px 22px; border: 1px solid transparent; border-radius: 10px; font-size: 14px; font-weight: 700; transition: transform .2s ease, background .2s ease, border-color .2s ease, color .2s ease; }
.global-cta__button:hover { transform: translateY(-2px); }
.global-cta__button:focus-visible { outline: 3px solid rgba(255,255,255,.45); outline-offset: 3px; }
.global-cta__button--primary { background: #fff; color: var(--condrieu-navy); }
.global-cta__button--primary:hover { background: var(--condrieu-rust-hover); color: #fff; }
.global-cta__button--secondary { border-color: rgba(255,255,255,.52); color: #fff; }
.global-cta__button--secondary:hover { border-color: #fff; background: rgba(255,255,255,.1); color: #fff; }

.condrieu-footer.layout-2 {
    color: rgba(255,255,255,.76);
    background-color: var(--condrieu-navy);
    background-image: linear-gradient(rgba(21,21,21,.88), rgba(21,21,21,.94)), url("../images/footer/footer-pattern.png");
    background-position: center top;
    background-size: cover;
}
.condrieu-footer.layout-2 .footer_top { padding: 100px 0px 25px 0px; border: 0; }
.condrieu-footer .footer_logo { width: auto; max-width: none; }
.condrieu-footer .brand-mark--footer { display: inline-flex; align-items: center; min-height: auto; padding: 0; }
.brand-mark--footer > i { font-size: 42px; }
.brand-mark--footer > span { font-size: 17px; }
.condrieu-footer .footer_widget_inner .widget_title { margin-bottom: 24px; }
.condrieu-footer .footer_widget_inner .widget_title .title { color: #fff; font-size: 20px; }
.condrieu-footer .about_widget .widget_about .desc p { color: rgba(255,255,255,.7); font-size: 15px; line-height: 1.75; }
.condrieu-footer .footer_widget .widget_menu li:not(:last-child) { margin-bottom: 11px; }
.condrieu-footer .footer_widget .widget_menu li a { color: rgba(255,255,255,.78); font-size: 15px; font-weight: 500; }
.condrieu-footer .footer_widget .widget_menu li a:hover { color: #fff; }
.condrieu-footer .footer_widget_inner .widget_contact_list li .content .label { font-size: 15px; }
.condrieu-footer .footer_widget_inner .widget_contact_list li .content .info { color: rgba(255,255,255,.72); font-size: 14px; line-height: 1.6; }
.condrieu-footer .footer-gallery-grid { gap: 8px; }
.condrieu-footer .footer-gallery-grid li { width: calc(33.333% - 6px); height: 72px; }
.condrieu-footer .footer-gallery-grid img { filter: saturate(.85); }
.condrieu-footer .footer-gallery-empty { width: 100%; height: auto; }
.condrieu-footer .footer-gallery-empty a { color: #fff; }
.condrieu-footer .footer_bottom { border-top: 1px solid rgba(255,255,255,.1); }
.condrieu-footer.layout-2 .footer_bottom_inner { align-items: center; justify-content: space-between; }
.condrieu-footer .footer_bottom a { color: rgba(255,255,255,.68); }
.condrieu-footer .footer_bottom a:hover { color: #fff; }

.contact-info-section .info_box .title { font-size: 19px; }
.contact-info-section .info_box .info_list { padding-left: 0; }
.contact-info-section .info_box .info_list li { line-height: 1.6; }
.contact-address-link { text-decoration: underline; text-underline-offset: 3px; }
.condrieu-footer .footer-address-link { color: rgba(255,255,255,.72); text-decoration: underline; text-underline-offset: 3px; }
.condrieu-footer .footer-address-link:hover,
.condrieu-footer .footer-address-link:focus-visible { color: #fff; }
.contact_form .section_title { margin-bottom: 40px; }
.contact_form .form_group small { display: block; margin-top: 7px; color: #b42318; text-align: left; }
.contact_form .alert { text-align: left; }
.contact-privacy-notice { margin: 0 0 18px; color: #6b6864; font-size: 12px; line-height: 1.65; text-align: left; }
.contact-privacy-notice a { color: var(--condrieu-rust-dark); font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }
.contact-privacy-notice a:hover,
.contact-privacy-notice a:focus-visible { color: var(--condrieu-rust); }
.contact_form .form_group select,
.contact_form .form_group .nice-select,
.contact_form .form_group input:not([type=submit]):not([type=radio]):not([type=checkbox]),
.contact_form .form_group textarea,
.contact-form-card input,
.contact-form-card textarea { border-radius: var(--condrieu-radius); }

@media (max-width: 1199px) {
    .condrieu-header .main_header { border-bottom: 1px solid color-mix(in srgb, var(--condrieu-rust-light) 20%, transparent); background: rgba(20,20,20,.97); box-shadow: 0 8px 28px rgba(0,0,0,.16); }
    .condrieu-header .main_header .row { min-height: 86px; --bs-gutter-x: 0; }
    .brand-mark { min-height: 86px; }
    .condrieu-header .brand-mark { max-width: 270px; padding: 9px 0; }
    .condrieu-header .menu_area,
    .condrieu-header .menu_bar { display: flex; width: 100%; align-items: center; justify-content: flex-end; }
    .condrieu-hero,
    .condrieu-hero__layout { min-height:700px; }
    .condrieu-hero__layout { grid-template-columns:minmax(0,1fr) minmax(350px,.76fr); gap:48px; padding-top:126px; }
    .home-gallery-carousel__slide { flex-basis: 33.333%; }
    .condrieu-projects-showcase.layout-2 .project { height: 390px; max-height: 390px; }
}
@media (max-width: 991px) {
    .section-padding { padding-top: 108px; padding-bottom: 96px; }
    .content-section { padding: 70px 40px; }
    .condrieu-about .row,
    .activity-detail .row { row-gap: 48px; }
    .gallery-card, .gallery-card:nth-child(1), .gallery-card:nth-child(5) { grid-column: span 6; }
    .activity-detail__content { padding-right: 0; }
    .activity-detail__image { max-width: 720px; margin: 0 auto; }
    .activity-detail__image img { height: 480px; }
    .global-cta__inner { align-items: flex-start; flex-direction: column; gap: 30px; }
    .global-cta__actions { flex-direction: row; min-width: 0; }
    .partner-banner__inner { grid-template-columns:1fr; gap:26px; }
    .partner-banner__content { max-width:650px; }
    .partner-banner__logos { justify-content:flex-start; }
    .condrieu-footer.layout-2 .footer_top { padding-top: 75px; }
    .projects-section.layout-2.condrieu-projects-showcase { padding-top: 105px; padding-bottom: 108px; padding-left: 40px; padding-right: 40px }
    .error-page { min-height: auto; padding: 145px 0 85px; }
    .error-page__visual { max-width: 620px; margin: 0 auto; }
    .error-page__visual img { height: 430px; }
}
@media (max-width: 767px) {
    .condrieu-header .ts-container { padding-inline: 20px; }
    .condrieu-header .main_header .row { min-height: 78px; }
    .brand-mark { gap: 9px; min-height: 78px; }
    .condrieu-header .brand-mark { max-width: 220px; padding: 9px 0; }
    .brand-mark--mobile { max-width: 210px; }
    .brand-mark--footer { max-width: 260px; }
    .brand-mark > i { font-size: 36px; }
    .brand-mark > span { font-size: 16px; }
    .brand-mark small { margin-top: 4px; }
    .condrieu-header .menu_area .menu_bar .menu_bar_icon { width: 44px; height: 44px; }
    .section-padding { padding-top: 90px; padding-bottom: 78px; }
    .content-section { padding: 70px 40px; }
    .section_title { margin-bottom: 50px; }
    .section-action { margin-top: 44px; }
    .condrieu-hero { min-height:0; }
    .condrieu-hero__layout { grid-template-columns:1fr; min-height:0; gap:36px; padding:145px 0 52px; }
    .condrieu-hero .hero_content_wrapper { min-height:0; }
    .condrieu-hero .hero_content_inner { max-width:720px; }
    .condrieu-hero .hero_content_inner .title { max-width:680px; font-size:clamp(2.6rem,7.5vw,4rem); }
    .condrieu-hero__media { position:relative; inset:auto; grid-column:1; width:100%; height:500px; border-radius:var(--condrieu-radius); box-shadow:0 25px 70px rgba(0,0,0,.32); }
    .condrieu-hero__media img { object-position:center 38%; }
    .home-facilities__stat { min-height: 150px; padding: 22px; }
    .gallery-grid { display: block; }
    .gallery-tabs-wrap { margin-bottom: 36px; }
    .gallery-tab { flex: 1 1 calc(50% - 10px); padding: 11px 12px; }
    .gallery-category-descriptions { min-height: 78px; }
    .gallery-card { display: block; min-height: 260px; margin-bottom: 24px; }
    .gallery-card img, .gallery-card--video video { min-height: 260px; }
    .price-card.featured { transform: none; }
    .pricing-block + .pricing-block { margin-top: 75px; }
    .pricing-rates-table { min-width: 660px; }
    .pricing-rates-table th, .pricing-rates-table td { padding: 18px 20px; }
    .pricing-notes { margin-top: 55px; padding: 28px 24px; }
    .contact-form-card { padding: 26px 20px; }
    .page-hero { min-height: 250px; padding: 140px 0 65px; }
    .activity-detail__image { padding: 0 0 20px 20px; }
    .activity-detail__image img { height: 400px; }
    .condrieu-footer .footer_logo { max-width: 260px; }
    .home-gallery-carousel__slide { flex-basis: 50%; }
    .condrieu-projects-showcase.layout-2 .project { height: 350px; max-height: 350px; }
}
@media (max-width: 575px) {
    .condrieu-header .ts-container { padding-inline: 18px; }
    .condrieu-header .main_header .row { min-height: 74px; }
    .condrieu-header .brand-mark { max-width: 190px; min-height: 74px; padding: 9px 0; }
    .brand-mark--mobile { max-width: 185px; }
    .brand-mark--footer { max-width: 230px; }
    .condrieu-header .menu_area .menu_bar .menu_bar_icon { width: 42px; height: 42px; font-size: 20px; }
    .section-padding { padding-top: 78px; padding-bottom: 68px; }
    .content-section { padding: 70px 40px; }
    .condrieu-hero__layout { gap:30px; padding:124px 0 32px; }
    .condrieu-hero .hero_content_inner { padding:0; }
    .condrieu-hero .hero_content_inner .subtitle { margin-bottom:16px; padding:9px 13px; font-size:12px; }
    .condrieu-hero .hero_content_inner .title { margin-bottom:20px; font-size:clamp(2.25rem,11vw,3rem); line-height:1.08; }
    .condrieu-hero .hero_content_inner .text { font-size:16px; line-height:1.65; }
    .condrieu-hero .hero_content_inner .hero_btn { width:100%; margin-top:28px; padding-inline:18px; text-align:center; }
    .condrieu-hero__media { height:390px; }
    .home-facilities__stats { grid-template-columns: 1fr; }
    .home-facilities__stat { min-height: 125px; }
    .activity-detail__cta { align-items: stretch; flex-direction: column; padding: 20px; }
    .activity-detail__cta .ts-btn { align-self: flex-start; }
    .activity-detail__image img { height: 330px; }
    .global-conversion-cta { padding: 58px 40px; }
    .global-cta__actions { width: 100%; flex-direction: column; }
    .global-cta__button { width: 100%; }
    .global-partner-banner { padding: 38px 0; }
    .partner-banner__inner { gap:22px; }
    .partner-banner__logos { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; gap:12px; }
    .partner-banner__logo { width:100%; max-width:none; min-height:96px; padding:14px; }
    .condrieu-footer.layout-2 .footer_top { padding: 60px 0 25px; }
    .condrieu-footer.layout-2 .footer_bottom_inner { align-items: flex-start; padding-left: 40px; padding-right: 40px }
    .condrieu-services-showcase .service.layout-2 .service_content { padding: 30px 22px; }
    .projects-section.layout-2.condrieu-projects-showcase { padding-top: 82px; padding-bottom: 84px; }
    .home-gallery-carousel__slide { flex-basis: 88%; }
    .home-gallery-carousel__controls { margin-top: 26px; }
    .error-page { padding: 125px 0 70px; }
    .error-page__number { margin-left: -3px; -webkit-text-stroke-width: 1px; }
    .error-page__actions { align-items: stretch; flex-direction: column; }
    .error-page__button { width: 100%; }
    .error-page__visual { padding: 0 0 18px 18px; }
    .error-page__visual img { height: 330px; }
    .error-page__visual figcaption { right: 0; max-width: calc(100% - 36px); }
}
