:root {
  --celina-ink: #1d2a22;
  --celina-forest: #33483b;
  --celina-sage: #748171;
  --celina-cream: #f7f1df;
  --celina-oat: #e9dfc8;
  --celina-stone: #f5f3ed;
  --celina-line: rgba(29, 42, 34, .16);
  --celina-white: #fff;
}

body.celina-installed-page .entry-header,
body.celina-installed-page .page-header,
body.celina-installed-page .post-thumbnail { display: none !important; }
body.celina-installed-page .content-area,
body.celina-installed-page .site-main,
body.celina-installed-page .entry-content,
body.celina-installed-page .content-container { margin: 0 !important; padding: 0 !important; max-width: none !important; }
body.celina-installed-page .site-container { max-width: none !important; padding: 0 !important; }

.celina-page {
  color: var(--celina-ink);
  font-family: inherit;
  margin-left: calc(50% - 50vw);
  width: 100vw;
  overflow: hidden;
  background: var(--celina-white);
}
.celina-page *, .celina-page *::before, .celina-page *::after { box-sizing: border-box; }
.celina-page h1, .celina-page h2, .celina-page h3 { color: var(--celina-ink); margin-top: 0; }
.celina-page h1, .celina-page h2 { font-family: Georgia, 'Times New Roman', serif; font-weight: 400; letter-spacing: -.035em; }
.celina-page h1 { font-size: clamp(3.2rem, 6vw, 6.5rem); line-height: .94; max-width: 820px; }
.celina-page h2 { font-size: clamp(2.3rem, 4.2vw, 4.6rem); line-height: 1.02; }
.celina-page h3 { font-size: 1.2rem; letter-spacing: -.01em; }
.celina-page p { color: #53605a; font-size: 1.08rem; line-height: 1.8; }
.celina-shell { width: min(1180px, calc(100% - 48px)); margin: 0 auto; }
.celina-eyebrow { color: #66766e !important; font-size: .76rem !important; font-weight: 700; letter-spacing: .22em; line-height: 1.5 !important; margin: 0 0 24px; text-transform: uppercase; }
.celina-lede { font-size: clamp(1.08rem, 1.6vw, 1.3rem) !important; max-width: 650px; }
.celina-centered { max-width: 760px; margin-left: auto; margin-right: auto; text-align: center; }

.celina-service-hero { background: linear-gradient(105deg, #fff 0%, #fff 61%, var(--celina-cream) 61%); padding: 92px 0 86px; }
.celina-home-hero h1 { font-size: clamp(3.4rem, 5.2vw, 5.25rem); max-width: 700px; }
.celina-hero-grid { align-items: center; display: grid; gap: 70px; grid-template-columns: 1.08fr .92fr; min-height: 570px; }
.celina-hero-copy { position: relative; z-index: 2; }
.celina-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 26px; margin-top: 34px; }
.celina-btn { align-items: center; border: 1px solid transparent; display: inline-flex; justify-content: center; font-size: .76rem; font-weight: 700; letter-spacing: .12em; min-height: 54px; padding: 15px 24px; text-decoration: none !important; text-transform: uppercase; transition: transform .18s ease, background-color .18s ease; }
.celina-btn:hover { transform: translateY(-2px); }
.celina-btn-primary { background: var(--celina-forest); color: #fff !important; }
.celina-btn-primary:hover { background: #24372c; }
.celina-btn-light { background: #fff; color: var(--celina-forest) !important; }
.celina-text-link { color: var(--celina-ink); font-size: .86rem; font-weight: 700; letter-spacing: .04em; text-decoration: none; }
.celina-hero-visual { background-color: #ece3cf; background-image: linear-gradient(rgba(35, 45, 37, .16), rgba(35, 45, 37, .16)), url('images/celina-home-hero.webp'); background-position: center; background-size: cover; min-height: 500px; position: relative; }
.celina-hero-visual::before { background: transparent; border: 24px solid rgba(247, 241, 223, .9); content: ''; inset: -34px 28px 34px -34px; position: absolute; z-index: -1; }
.celina-frame { border: 1px solid rgba(255,255,255,.6); inset: 22px; position: absolute; }
.celina-service-mark { background: rgba(255,255,255,.93); bottom: 0; color: var(--celina-ink); font-family: Georgia, serif; font-size: 1rem; left: 0; letter-spacing: .17em; line-height: 1.1; padding: 18px 20px; position: absolute; }
.celina-service-mark small { font-family: inherit; font-size: .46rem; letter-spacing: .2em; }
.celina-upholstery .celina-hero-visual { background-position: 25% center; }
.celina-rugs .celina-hero-visual { background-position: center 70%; }
.celina-pet .celina-hero-visual { filter: saturate(.76); }
.celina-about .celina-hero-visual { background-position: 70% center; }

.celina-trust { border-bottom: 1px solid var(--celina-line); border-top: 1px solid var(--celina-line); background: #fff; }
.celina-trust-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.celina-trust-grid span { color: var(--celina-forest); font-size: .7rem; font-weight: 700; letter-spacing: .1em; padding: 25px 18px; text-align: center; text-transform: uppercase; }
.celina-trust-grid span + span { border-left: 1px solid var(--celina-line); }

.celina-section { padding: 110px 0; }
.celina-warm { background: var(--celina-stone); }
.celina-two-col { align-items: start; display: grid; gap: clamp(55px, 8vw, 120px); grid-template-columns: 1.05fr .95fr; }
.celina-two-col > div:first-child > p:not(.celina-eyebrow) { max-width: 650px; }
.celina-card { background: var(--celina-cream); border: 1px solid rgba(51,72,59,.08); padding: clamp(34px, 5vw, 58px); }
.celina-list-card h3 { border-bottom: 1px solid var(--celina-line); padding-bottom: 20px; }
.celina-list-card ul { list-style: none; margin: 24px 0; padding: 0; }
.celina-list-card li { border-bottom: 1px solid var(--celina-line); color: #435048; padding: 14px 0 14px 28px; position: relative; }
.celina-list-card li::before { color: var(--celina-sage); content: '—'; left: 0; position: absolute; }
.celina-note { font-size: .88rem !important; line-height: 1.6 !important; margin-bottom: 0; }
.celina-steps { display: grid; gap: 20px; grid-template-columns: repeat(3, 1fr); margin-top: 58px; }
.celina-steps article { background: #fff; border-top: 3px solid var(--celina-forest); min-height: 255px; padding: 40px; }
.celina-steps span { color: var(--celina-sage); display: block; font-family: Georgia, serif; font-size: 2rem; margin-bottom: 42px; }
.celina-steps p { font-size: .98rem; line-height: 1.65; }
.celina-faq { align-items: start; display: grid; gap: clamp(50px, 8vw, 120px); grid-template-columns: .8fr 1.2fr; }
.celina-faq details { border-top: 1px solid var(--celina-line); padding: 22px 0; }
.celina-faq details:last-child { border-bottom: 1px solid var(--celina-line); }
.celina-faq summary { color: var(--celina-ink); cursor: pointer; font-size: 1.08rem; font-weight: 700; list-style: none; padding-right: 34px; position: relative; }
.celina-faq summary::-webkit-details-marker { display: none; }
.celina-faq summary::after { content: '+'; font-family: Georgia, serif; font-size: 1.6rem; font-weight: 400; position: absolute; right: 2px; top: -5px; }
.celina-faq details[open] summary::after { content: '–'; }
.celina-faq details p { font-size: .98rem; margin-bottom: 0; }
.celina-final { background: var(--celina-forest); padding: 100px 0; text-align: center; }
.celina-final .celina-shell { max-width: 850px; }
.celina-final .celina-eyebrow, .celina-final h2, .celina-final p { color: #fff !important; }
.celina-final p { margin: 0 auto 30px; max-width: 620px; }

.celina-contact-hero { background: linear-gradient(105deg, #fff 0 62%, var(--celina-cream) 62%); padding: 100px 0 85px; }
.celina-contact-hero h1 { font-size: clamp(3.6rem, 7vw, 7rem); margin-bottom: 28px; }
.celina-contact-hero p:last-child { max-width: 690px; }
.celina-contact-grid { align-items: start; display: grid; gap: clamp(50px, 8vw, 110px); grid-template-columns: .8fr 1.2fr; }
.celina-next { list-style: none; margin: 45px 0; padding: 0; }
.celina-next li { align-items: flex-start; border-top: 1px solid var(--celina-line); display: grid; gap: 18px; grid-template-columns: 38px 1fr; padding: 22px 0; }
.celina-next li:last-child { border-bottom: 1px solid var(--celina-line); }
.celina-next span { align-items: center; background: var(--celina-forest); border-radius: 50%; color: #fff; display: inline-flex; font-size: .75rem; height: 32px; justify-content: center; width: 32px; }
.celina-next p { font-size: .92rem; line-height: 1.55; margin: 6px 0 0; }
.celina-contact-note { background: var(--celina-cream); padding: 26px; }
.celina-contact-note p { font-size: .9rem; line-height: 1.55; margin-bottom: 0; }
.celina-estimate-form { background: #fff; border: 1px solid var(--celina-line); box-shadow: 0 18px 60px rgba(25,40,31,.07); padding: clamp(30px, 5vw, 58px); }
.celina-form-heading { border-bottom: 1px solid var(--celina-line); margin-bottom: 32px; padding-bottom: 25px; }
.celina-form-heading h2 { font-size: clamp(2.2rem, 4vw, 3.5rem); margin-bottom: 10px; }
.celina-form-heading p:last-child { font-size: .88rem; margin-bottom: 0; }
.celina-estimate-form label, .celina-estimate-form legend { color: var(--celina-ink); display: block; font-size: .82rem; font-weight: 700; letter-spacing: .04em; }
.celina-estimate-form input[type='text'], .celina-estimate-form input[type='tel'], .celina-estimate-form input[type='email'], .celina-estimate-form select, .celina-estimate-form textarea { background: #fbfaf6; border: 1px solid #cfd2cb; border-radius: 0; color: var(--celina-ink); font: inherit; margin-top: 9px; min-height: 50px; padding: 12px 14px; width: 100%; }
.celina-estimate-form textarea { resize: vertical; }
.celina-estimate-form input:focus, .celina-estimate-form select:focus, .celina-estimate-form textarea:focus { border-color: var(--celina-forest); box-shadow: 0 0 0 2px rgba(51,72,59,.12); outline: 0; }
.celina-form-row { display: grid; gap: 20px; grid-template-columns: 1fr 1fr; margin-bottom: 22px; }
.celina-estimate-form fieldset { border: 0; border-bottom: 1px solid var(--celina-line); border-top: 1px solid var(--celina-line); margin: 28px 0; padding: 25px 0; }
.celina-check-grid { display: grid; gap: 13px; grid-template-columns: 1fr 1fr; margin-top: 18px; }
.celina-check-grid label { align-items: center; display: flex; font-weight: 500; gap: 9px; letter-spacing: 0; }
.celina-estimate-form input[type='checkbox'] { accent-color: var(--celina-forest); height: 18px; width: 18px; }
.celina-consent { align-items: flex-start; display: flex !important; gap: 10px; letter-spacing: 0 !important; line-height: 1.5; margin: 22px 0; }
.celina-consent input { flex: 0 0 auto; margin-top: 2px; }
.celina-privacy { font-size: .78rem !important; line-height: 1.5 !important; margin: 16px 0 0; }
.celina-hp { height: 0; left: -9999px; overflow: hidden; position: absolute; width: 0; }
.celina-form-status { border-left: 4px solid; margin-bottom: 24px; padding: 18px 22px; }
.celina-form-success { background: #edf5ee; border-color: #3a6b46; color: #25452d; }
.celina-form-error { background: #fbefec; border-color: #9d4335; color: #722f25; }

.celina-home-intro { align-items: start; display: grid; gap: clamp(45px, 7vw, 95px); grid-template-columns: 1.05fr .95fr; }
.celina-home-intro h2 { max-width: 720px; }
.celina-home-intro > div:last-child { padding-top: 42px; }
.celina-service-cards { display: grid; gap: 1px; grid-template-columns: repeat(4, 1fr); margin-top: 70px; background: var(--celina-line); border: 1px solid var(--celina-line); }
.celina-service-cards article { background: #fff; min-height: 330px; padding: 36px 30px; }
.celina-service-cards .celina-card-number { color: var(--celina-sage); font-family: Georgia, serif; font-size: 1.8rem; line-height: 1; margin-bottom: 55px; }
.celina-service-cards h3 { font-family: Georgia, 'Times New Roman', serif; font-size: 1.55rem; font-weight: 400; }
.celina-service-cards p { font-size: .94rem; line-height: 1.65; }
.celina-service-cards a { color: var(--celina-forest); display: inline-block; font-size: .78rem; font-weight: 700; letter-spacing: .04em; margin-top: 12px; text-decoration: none; }
.celina-home-area { background: var(--celina-cream); padding: 95px 0; }
.celina-home-area-grid { align-items: center; display: grid; gap: clamp(45px, 8vw, 120px); grid-template-columns: 1.1fr .9fr; }
.celina-home-area-grid h2 { margin-bottom: 0; }
.celina-home-area-grid .celina-btn { margin-top: 20px; }
.celina-policy { max-width: 860px; }
.celina-policy h2 { font-size: clamp(2rem, 3.5vw, 3.2rem); margin-top: 58px; }
.celina-policy h2:first-child { margin-top: 0; }
.celina-policy a { color: var(--celina-forest); }

body #colophon.site-footer { display: none !important; }
.celina-site-footer { background: #17231c; color: #fff; padding: 72px max(24px, calc((100vw - 1180px) / 2)) 28px; }
.celina-site-footer * { box-sizing: border-box; }
.celina-footer-shell { display: grid; gap: 55px; grid-template-columns: 1.3fr 1fr 1fr; }
.celina-footer-brand strong { display: block; font-family: Georgia, 'Times New Roman', serif; font-size: 1.7rem; font-weight: 400; margin-bottom: 15px; }
.celina-site-footer p { color: #cdd5cf; font-size: .9rem; line-height: 1.7; margin: 0; }
.celina-site-footer nav, .celina-footer-contact { align-items: flex-start; display: flex; flex-direction: column; gap: 12px; }
.celina-site-footer a { color: #fff; font-size: .82rem; text-decoration: none; }
.celina-site-footer a:hover { text-decoration: underline; }
.celina-footer-legal { border-top: 1px solid rgba(255,255,255,.17); display: flex; gap: 24px; justify-content: space-between; margin-top: 55px; padding-top: 24px; }
.celina-footer-legal p:first-child { max-width: 720px; }

@media (max-width: 980px) {
  .celina-service-hero { background: linear-gradient(180deg, #fff 0 70%, var(--celina-cream) 70%); padding-top: 70px; }
  .celina-hero-grid, .celina-two-col, .celina-faq, .celina-contact-grid { grid-template-columns: 1fr; }
  .celina-hero-grid { gap: 65px; }
  .celina-hero-visual { min-height: 520px; }
  .celina-trust-grid { grid-template-columns: 1fr 1fr; }
  .celina-trust-grid span:nth-child(3) { border-left: 0; border-top: 1px solid var(--celina-line); }
  .celina-trust-grid span:nth-child(4) { border-top: 1px solid var(--celina-line); }
  .celina-steps { grid-template-columns: 1fr; }
  .celina-steps article { min-height: 0; }
	.celina-home-intro, .celina-home-area-grid { grid-template-columns: 1fr; }
	.celina-home-intro > div:last-child { padding-top: 0; }
		.celina-service-cards { grid-template-columns: 1fr 1fr; }
		.celina-footer-shell { grid-template-columns: 1fr 1fr; }
		.celina-footer-brand { grid-column: 1 / -1; }
}

@media (max-width: 640px) {
  .celina-shell { width: min(100% - 30px, 1180px); }
  .celina-page h1 { font-size: clamp(2.9rem, 15vw, 4.3rem); }
  .celina-page h2 { font-size: clamp(2.15rem, 11vw, 3.3rem); }
  .celina-service-hero { padding: 58px 0 60px; }
  .celina-hero-grid { min-height: 0; }
  .celina-hero-visual { min-height: 390px; }
  .celina-hero-visual::before { border-width: 15px; inset: -22px 14px 22px -15px; }
  .celina-section { padding: 75px 0; }
  .celina-trust-grid { grid-template-columns: 1fr; }
  .celina-trust-grid span + span, .celina-trust-grid span:nth-child(3) { border-left: 0; border-top: 1px solid var(--celina-line); }
  .celina-form-row, .celina-check-grid { grid-template-columns: 1fr; }
  .celina-card, .celina-steps article, .celina-estimate-form { padding: 28px 24px; }
  .celina-actions { align-items: stretch; flex-direction: column; }
  .celina-text-link { padding: 8px 0; }
  .celina-contact-hero { padding: 68px 0 58px; }
	.celina-service-cards { grid-template-columns: 1fr; }
	.celina-service-cards article { min-height: 0; }
		.celina-home-area { padding: 70px 0; }
		.celina-home-hero h1 { font-size: clamp(2.85rem, 13vw, 4rem); }
		.celina-site-footer { padding: 55px 20px 24px; }
		.celina-footer-shell { grid-template-columns: 1fr; }
		.celina-footer-brand { grid-column: auto; }
		.celina-footer-legal { flex-direction: column; }
}
