/* 2.8.0 — compact rhythm, clear services, prominent offer actions. */
:root { --cr-space-section: clamp(40px, 5vw, 72px); }
body.cr-photography-theme .cr-shell { width: min(100% - 48px, 1240px); }
body.cr-photography-theme:is(.blog, .search, .archive) .cr-site-header { background: rgba(8, 8, 8, .94); }
body.cr-photography-theme #main-content h1 { font-size: clamp(2.5rem, 4.4vw, 4rem); line-height: 1.03; }
body.cr-photography-theme :is(.cr-visual-section, .cr-section) { padding-block: var(--cr-space-section); }
body.cr-photography-theme :is(.cr-visual-heading, .cr-home-section-heading, .cr-inner-section-heading, .cr-section-heading) { gap: 32px; margin-bottom: 36px; }
body.cr-photography-theme :is(.cr-visual-heading, .cr-home-section-heading, .cr-inner-section-heading, .cr-section-heading) :is(h1,h2),
body.cr-photography-theme :is(.cr-about-manifesto, .cr-offers-faq-refined, .cr-faq-layout, .cr-contact-visual, .cr-home-contact-cta, .cr-services-guide__catalog, .cr-next-step) h2,
body.cr-photography-theme :is(.cr-video-portfolio__heading, .cr-photo-gallery-section__heading, .cr-service-gallery-heading, .cr-service-offer, .cr-service-intro, .cr-service-detail, .cr-service-articles) h2 {
	font-size: clamp(1.95rem, 3vw, 2.75rem); line-height: 1.1; letter-spacing: -.035em;
}
body.cr-photography-theme .cr-visual-heading__side,
body.cr-photography-theme .cr-inner-section-heading > p { font-size: .95rem; line-height: 1.65; }
body.cr-photography-theme :is(.cr-home-hero, .cr-collection-hero, .cr-service-hero, .cr-page-hero) { min-height: 530px; }
body.cr-photography-theme .cr-home-hero .cr-visual-hero__inner { padding-block: 145px 65px; }
body.cr-photography-theme .cr-home-hero .cr-visual-hero__copy { max-width: 620px; }
body.cr-photography-theme .cr-visual-hero__lead { max-width: 560px; margin-block: 22px; font-size: 1rem; }
body.cr-photography-theme .cr-collection-hero .cr-shell { padding-block: 145px 56px; }
body.cr-photography-theme .cr-collection-hero__description { max-width: 650px; font-size: 1rem; line-height: 1.65; }
body.cr-photography-theme .cr-portfolio-archive > .cr-visual-section:first-child { padding-top: 135px; }
body.cr-photography-theme .cr-about-refined-hero { padding-top: 90px; }
body.cr-photography-theme .cr-about-refined-hero__copy { padding-block: 50px; }
body.cr-photography-theme .cr-about-refined-hero__media { min-height: 540px; }
body.cr-photography-theme .cr-about-manifesto { padding-block: 50px; }
body.cr-photography-theme .cr-about-principles article { padding-block: 20px; }
body.cr-photography-theme .cr-about-principles h2 { font-size: 1.75rem; }
body.cr-photography-theme .cr-journal-refined-intro { padding-block: 135px 50px; }
body.cr-photography-theme .cr-journal-featured { padding-block: 48px; }
body.cr-photography-theme .cr-journal-featured__copy h2 { font-size: clamp(2rem, 3vw, 2.75rem); }
body.cr-photography-theme .cr-journal-featured__copy h2 a { text-decoration: none; }
body.cr-photography-theme .cr-journal-editorial-card__content h2 { font-size: 1.7rem; }
body.cr-photography-theme .entry-content h2 { font-size: clamp(1.7rem, 2.8vw, 2.35rem); margin-top: 1.35em; }
body.cr-photography-theme .entry-content h3 { font-size: clamp(1.45rem, 2.2vw, 1.9rem); }
body.cr-photography-theme :is(.cr-contact-details, .cr-contact-cta) h2 { font-size: clamp(1.9rem, 3vw, 2.75rem); }
body.cr-photography-theme .cr-visual-section--paper .cr-visual-eyebrow { color: #846616; }
body.cr-photography-theme .cr-home-service-row { padding-block: 23px; }
body.cr-photography-theme .cr-home-service-row__title strong { font-size: clamp(1.5rem, 2.2vw, 2.1rem); }
body.cr-photography-theme .cr-home-package { padding: 28px; }
body.cr-photography-theme .cr-home-package h3 { font-size: 2rem; }
body.cr-photography-theme .cr-home-process { padding-block: 35px; }
body.cr-photography-theme .cr-home-process h2 { font-size: 1.5rem; line-height: 1.2; }
body.cr-photography-theme .cr-home-proof { padding-block: 48px; }
body.cr-photography-theme .cr-home-about-card h2 { font-size: 2rem; }
body.cr-photography-theme .cr-home-contact-cta { min-height: 290px; padding-block: 56px; }
body.cr-photography-theme .cr-home-contact-cta .cr-shell { text-align: center; }
body.cr-photography-theme .cr-home-contact-cta .cr-visual-eyebrow { justify-content: center; }
body.cr-photography-theme .cr-home-contact-cta h2 { margin-inline: auto; }
body.cr-photography-theme .cr-footer-lead { padding-block: 32px; }
body.cr-photography-theme .cr-footer-lead p { font-size: clamp(1.6rem, 2.8vw, 2.5rem); }
body.cr-photography-theme .cr-offer-premium__body { padding: 28px; }
body.cr-photography-theme .cr-offer-premium__title-row { margin-block: 22px 18px; flex-wrap: wrap; align-items: start; }
body.cr-photography-theme .cr-offer-premium :is(h2,h3) { font-size: clamp(2rem, 2.6vw, 2.65rem); }
body.cr-photography-theme .cr-offer-premium__summary { min-height: 0; margin-bottom: 22px; }
body.cr-photography-theme .cr-offer-premium__price { font-size: 1rem; }
.cr-centered-action { display: flex; justify-content: center; margin-top: 30px; }
body.cr-photography-theme .cr-button--offer {
	display: inline-flex; min-height: 50px; justify-content: center; align-items: center; gap: 18px;
	padding: 15px 28px; background: var(--cr-accent); border: 1px solid var(--cr-accent);
	color: #121008; text-align: center; font-size: .73rem; font-weight: 750; box-shadow: 0 4px 18px rgb(226 185 47 / 12%);
}
body.cr-photography-theme .cr-button--offer .cr-button__arrow { background: transparent; color: inherit; margin: 0; }
body.cr-photography-theme .cr-button--offer:hover { background: #f1d267; color: #121008; border-color: #f1d267; }
body.cr-photography-theme .cr-offer-premium.is-featured .cr-button--offer { background: #111; color: #fff; border-color: #111; }
body.cr-photography-theme .cr-button--offer:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
.cr-services-guide__intro { padding: 130px 0 30px; }
.cr-services-guide__intro-grid { display: grid; grid-template-columns: 1fr 1.2fr; gap: 48px; align-items: center; }
body.cr-photography-theme .cr-services-guide__intro h1 { margin: 0; font-family: var(--cr-serif); font-style: italic; font-weight: 400; letter-spacing: -.035em; }
body.cr-photography-theme .cr-services-guide__intro p { max-width: 490px; margin: 24px 0 0; color: var(--cr-muted); font-size: 1rem; line-height: 1.7; }
.cr-services-guide__intro figure { margin: 0; aspect-ratio: 16/10; overflow: hidden; }
.cr-services-guide__intro img { width: 100%; height: 100%; object-fit: cover; }
.cr-service-jump { display: flex; justify-content: center; border-block: 1px solid var(--cr-line); padding-block: 24px; }
.cr-service-jump a { flex: 1; padding: 4px 20px; text-align: center; font-family: var(--cr-serif); font-size: 1.35rem; font-style: italic; border-left: 1px solid var(--cr-line); text-decoration: none; }
.cr-service-jump a:first-child { border: 0; }
.cr-service-jump a:hover { color: var(--cr-accent); }
body.cr-photography-theme .cr-services-guide__heading { text-align: center; margin: 0 0 36px; font-family: var(--cr-serif); font-style: italic; font-weight: 400; }
.cr-service-group { scroll-margin-top: 100px; }
body.cr-photography-theme .cr-service-group__label { margin: 28px 0 12px; color: var(--cr-accent-soft); font-family: var(--cr-sans); font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.cr-service-guide-row { display: grid; grid-template-columns: .85fr 1fr 1.1fr; gap: 36px; padding-block: 28px; border-bottom: 1px solid var(--cr-line); align-items: start; }
.cr-service-guide-row__media { display: block; aspect-ratio: 4/3; overflow: hidden; }
.cr-service-guide-row__media img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1); }
.cr-service-guide-row__number { color: var(--cr-accent); font-family: var(--cr-serif); font-size: 1.65rem; }
body.cr-photography-theme .cr-service-guide-row h4 { margin: 8px 0 20px; font-family: var(--cr-serif); font-size: clamp(1.65rem, 2.5vw, 2.4rem); font-style: italic; font-weight: 400; line-height: 1.1; }
.cr-service-guide-row strong { display: block; color: var(--cr-accent-soft); font-size: .65rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.cr-service-guide-row p, .cr-service-guide-row ul { margin: 12px 0 0; color: var(--cr-muted); font-size: .94rem; line-height: 1.65; }
.cr-service-guide-row__includes { border-left: 1px solid var(--cr-line); padding: 18px 0 10px 28px; }
.cr-service-guide-row ul { padding-left: 17px; }
.cr-service-guide-row li { margin: 6px 0; }
.cr-service-guide-row .cr-home-arrow-link { margin-top: 22px; color: var(--cr-accent-soft); }
.cr-next-step { padding: 52px 0; text-align: center; }
.cr-next-step h2 { margin: 0; font-family: var(--cr-serif); font-style: italic; font-weight: 400; }
.cr-next-step p { color: var(--cr-muted); margin: 18px 0 0; }
.cr-next-step .cr-home-arrow-link { margin-top: 22px; }
.cr-demo-notice { padding: 18px 24px; background: var(--cr-paper); color: #171512; font-size: .9rem; line-height: 1.6; }
.cr-demo-notice p { max-width: 1000px; margin: 0 auto; }
.cr-service-overview__grid { display: grid; grid-template-columns: 1fr 1.2fr; gap: 60px; }
body.cr-photography-theme .cr-service-overview h2 { font-size: clamp(1.8rem, 3vw, 2.6rem); margin-bottom: 24px; }
.cr-service-overview p, .cr-service-overview li { color: var(--cr-muted); }
.cr-service-overview ul { padding-left: 20px; margin-bottom: 0; }
.cr-service-overview li { margin-bottom: 8px; }
@media (max-width: 900px) {
	body.cr-photography-theme .cr-shell { width: calc(100% - 40px); }
	.cr-services-guide__intro-grid { grid-template-columns: 1fr 1fr; gap: 30px; }
	.cr-service-guide-row { grid-template-columns: .85fr 1.15fr; gap: 26px; }
	.cr-service-guide-row__includes { grid-column: 2; padding: 0; border: 0; }
	.cr-service-guide-row__media { grid-row: span 2; }
}
@media (max-width: 760px) {
	body.cr-photography-theme .cr-shell { width: calc(100% - 32px); }
	body.cr-photography-theme .cr-site-header__actions { gap: 10px; }
	body.cr-photography-theme .cr-site-header__actions .cr-button--offer { min-height: 40px; padding: 10px 12px; font-size: .6rem; gap: 8px; white-space: nowrap; }
	body.cr-photography-theme .cr-site-header__actions .cr-button__arrow { display: none; }
	body.cr-photography-theme #main-content h1 { font-size: clamp(2.3rem, 10vw, 3rem); }
	body.cr-photography-theme :is(.cr-visual-heading, .cr-home-section-heading, .cr-inner-section-heading, .cr-section-heading) :is(h1,h2),
	body.cr-photography-theme :is(.cr-about-manifesto, .cr-offers-faq-refined, .cr-faq-layout, .cr-contact-visual, .cr-home-contact-cta, .cr-services-guide__catalog, .cr-next-step) h2 { font-size: clamp(1.8rem, 8vw, 2.25rem); }
	body.cr-photography-theme :is(.cr-home-hero, .cr-collection-hero, .cr-service-hero, .cr-page-hero) { min-height: 490px; }
	body.cr-photography-theme .cr-home-hero .cr-visual-hero__inner,
	body.cr-photography-theme .cr-collection-hero .cr-shell { padding-block: 124px 44px; }
	body.cr-photography-theme .cr-visual-hero__actions { justify-content: center; }
	body.cr-photography-theme .cr-visual-hero__actions .cr-button { width: 100%; }
	body.cr-photography-theme .cr-journal-refined-intro { padding-top: 116px; }
	body.cr-photography-theme .cr-about-refined-hero__media { min-height: 380px; }
	body.cr-photography-theme .cr-about-refined-hero__copy { padding-block: 28px 40px; }
	.cr-services-guide__intro { padding-top: 120px; }
	.cr-services-guide__intro-grid { grid-template-columns: 1fr; gap: 20px; }
	.cr-service-overview__grid { grid-template-columns: 1fr; gap: 24px; }
	.cr-service-jump { flex-wrap: wrap; gap: 14px; padding-block: 18px; }
	.cr-service-jump a { flex: 1 1 auto; padding: 0 8px; font-size: 1.05rem; border: 0; }
	.cr-service-guide-row { grid-template-columns: 1fr; gap: 22px; padding-block: 24px; }
	.cr-service-guide-row__media { grid-row: auto; aspect-ratio: 16/9; }
	.cr-service-guide-row__includes { grid-column: auto; }
	body.cr-photography-theme .cr-service-guide-row h4 { font-size: 1.95rem; margin-bottom: 18px; }
	.cr-centered-action .cr-button { width: min(100%, 330px); }
	body.cr-photography-theme .cr-home-process h2 { font-size: 1.35rem; }
}
@media (max-width: 380px) {
	body.cr-photography-theme .cr-site-header__inner { gap: 10px; }
	body.cr-photography-theme .cr-site-header .cr-brand__name { font-size: 1.05rem; }
	body.cr-photography-theme .cr-site-header .cr-brand__tag { font-size: .48rem; letter-spacing: .1em; }
	body.cr-photography-theme .cr-site-header__actions .cr-button--offer { font-size: .54rem; padding-inline: 9px; }
}
