/* Corkey's Inc.: site styles (child of Solid Ground Starter). */

@font-face { font-family: "Slabo 27px"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/slabo-27px-normal-400.woff2") format("woff2"); }
@font-face { font-family: "Lato"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/lato-normal-400.woff2") format("woff2"); }
@font-face { font-family: "Lato"; font-style: normal; font-weight: 700; font-display: swap; src: url("../fonts/lato-normal-700.woff2") format("woff2"); }

:root {
	--ink: #2f2f2f;            /* Charcoal header and footer, like the old site. */
	--ink-2: #3a3a3a;
	--ink-3: #474747;
	--steel: #5c5c5c;
	--steel-light: #b5b5b5;
	--line: #e6e0d2;
	--paper: #f7f3ea;
	--accent: #a8791c;         /* Corkey's gold. */
	--accent-strong: #8f6003;
	--accent-text: #855c0c;
	--accent-soft: #f5ead2;
	--on-accent: #fff;
	--font-head: "Slabo 27px", Georgia, serif;
	--font-body: "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
	--radius: 4px;
	--radius-lg: 6px;
	--btn-radius: 4px;
	--header-h: 104px;
}

/* ==========================================================================
   Shared layout for this site's header, banner, hero, bottom band, footer and page content.
   The site's own colors and fonts are at the top of this file; its own look follows the shared part.
   ========================================================================== */

/* ---------- Type: sentence case, softer than the starter's condensed caps ---------- */
h1, h2, h3, h4 { font-weight: 700; letter-spacing: 0; }
.section-title, .page-hero__title, .entry-content h2, .form-card h2, .site-footer__title, .sgx-cta__title { text-transform: none; }
.entry-content h2 { font-size: clamp(28px, 3vw, 38px); line-height: 1.15; }
.entry-content h3 { font-size: clamp(21px, 2vw, 25px); line-height: 1.25; }
.entry-content p, .entry-content li { color: var(--body-text, #3d4147); }
.btn { border-radius: var(--btn-radius, 8px); }
.eyebrow::before { display: none; }
.eyebrow { letter-spacing: .12em; }

/* ---------- Header ---------- */
.sgx-topbar { font-size: 13.5px; }
.sgx-topbar .topbar__inner { justify-content: flex-end; gap: 22px; }
.sgx-topbar .topbar__message { margin-right: auto; }
.sgx-topbar a { color: inherit; }
.sgx-header .brand { display: flex; align-items: center; gap: 14px; text-decoration: none; }
.brand__words { display: flex; flex-direction: column; line-height: 1.1; }
.sgx-header .brand__name { font-family: var(--font-head); font-size: 26px; font-weight: 700; color: var(--ink); }
.sgx-header .brand__tagline { font-size: 14px; color: var(--steel); margin-top: 3px; }
.main-nav .menu a { font-weight: 600; }
.sgx-header__cta { white-space: nowrap; }
@media (min-width: 1024px) { .sgx-header__cta { display: none; } .main-nav__cta { display: inline-flex; margin-left: 10px; } }
@media (max-width: 1023px) {
	.sgx-header__cta { display: none; }
	.sgx-header .brand__name { font-size: 20px; }
	.sgx-header .brand__tagline { font-size: 12.5px; }
}

/* ---------- Page title banner (featured image behind the title) ---------- */
.sgx-banner { text-align: center; padding: clamp(56px, 8vw, 110px) 0; isolation: isolate; }
.sgx-banner::before { display: none; }
.sgx-banner::after { height: 0; }
.sgx-banner__bg { position: absolute; inset: 0; z-index: -2; }
.sgx-banner__bg img { width: 100%; height: 100%; object-fit: cover; }
.sgx-banner--photo::before { display: block; content: ""; position: absolute; inset: 0; z-index: -1; background: #000; opacity: var(--banner-dim, .45); }
.sgx-banner .crumbs { justify-content: center; }
.sgx-banner .page-hero__title { margin-left: auto; margin-right: auto; font-size: clamp(36px, 5vw, 60px); line-height: 1.1; }
.sgx-banner .page-hero__text { margin: 0 auto; }

/* ---------- Homepage hero ---------- */
.sgx-hero { position: relative; isolation: isolate; overflow: hidden; }
.sgx-hero__title { font-size: clamp(36px, 5vw, 62px); line-height: 1.08; margin-bottom: 18px; }
.sgx-hero__text { font-size: clamp(17px, 1.6vw, 20px); max-width: 640px; }
.sgx-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.sgx-hero--background { color: #fff; text-align: center; }
.sgx-hero--background .sgx-hero__inner { min-height: clamp(460px, 70vh, 720px); display: flex; align-items: center; justify-content: center; padding-top: 70px; padding-bottom: 70px; }
.sgx-hero--background .sgx-hero__content { max-width: 900px; }
.sgx-hero--background .sgx-hero__title { color: #fff; text-shadow: 0 2px 18px rgba(0,0,0,.35); }
.sgx-hero--background .sgx-hero__text { margin: 0 auto; color: rgba(255,255,255,.92); }
.sgx-hero--background .sgx-hero__actions { justify-content: center; }
.sgx-hero__bg { position: absolute; inset: 0; z-index: -2; }
.sgx-hero__bg img { width: 100%; height: 100%; object-fit: cover; }
.sgx-hero--background::before { content: ""; position: absolute; inset: 0; z-index: -1; background: #000; opacity: var(--hero-dim, .4); }
.sgx-hero--split .sgx-hero__inner { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 5vw, 64px); align-items: center; padding-top: clamp(40px, 6vw, 80px); padding-bottom: clamp(40px, 6vw, 80px); }
.sgx-hero__photo { margin: 0; }
.sgx-hero__photo img { width: 100%; aspect-ratio: 4 / 3.2; object-fit: cover; border-radius: var(--radius-lg); }
@media (max-width: 860px) { .sgx-hero--split .sgx-hero__inner { grid-template-columns: 1fr; } .sgx-hero--split .sgx-hero__photo { order: -1; } }

/* ---------- Page content from the old site ---------- */
.entry-content--centered .wp-block-columns img, .home-content .wp-block-columns img { aspect-ratio: auto; }
.entry-content .wp-block-columns .wp-block-image img { width: 100%; border-radius: var(--radius-lg); }
.entry-content .wp-block-column > .wp-block-image:not(:only-child) img { aspect-ratio: 4 / 3; object-fit: cover; }
.entry-content .wp-block-image.is-style-rounded img { border-radius: 50%; aspect-ratio: 1; object-fit: cover; max-width: 340px; margin: 0 auto; }
.entry-content .wp-block-image.is-style-uncropped img { aspect-ratio: auto !important; object-fit: contain !important; height: auto !important; }
.entry-content .wp-block-column h3 a { text-decoration: none; color: inherit; }
.entry-content .wp-block-column h3 a:hover { color: var(--accent-text); }
.entry-content .wp-block-columns { margin-bottom: 2.2em; }
.entry-content .wp-block-buttons { margin: 0 0 1.4em; display: flex; flex-wrap: wrap; gap: 10px; }
.entry-content .wp-block-button__link { border-radius: var(--btn-radius, 8px); display: inline-block; }
.entry-content .wp-block-gallery figcaption, .entry-content .wp-block-gallery .wp-element-caption { position: static; background: none; color: var(--ink); font-size: 14px; font-weight: 600; padding: 8px 2px 0; text-align: center; max-height: none; overflow: visible; }
.entry-content .wp-block-gallery.has-nested-images figure.wp-block-image { flex-direction: column; }
.entry-content .wp-block-gallery.has-nested-images figure.wp-block-image img { aspect-ratio: 1; object-fit: cover; }
.entry-content .wp-block-embed { margin: 0 0 1.8em; }
.entry-content .wp-block-embed iframe { width: 100%; aspect-ratio: 16 / 9; height: auto; border-radius: var(--radius); }
.entry-content blockquote cite { display: block; font-style: normal; font-weight: 700; margin-top: 6px; font-size: 15px; }

/* Full-width photo bands (Cover blocks) and color bands. */
.entry-content .wp-block-cover.alignfull, .entry-content .is-style-band.alignfull { margin-top: clamp(40px, 5vw, 64px); margin-bottom: clamp(40px, 5vw, 64px); padding: clamp(56px, 8vw, 110px) var(--gutter); min-height: 0; text-align: center; }
.entry-content .wp-block-cover { border-radius: 0; }
.entry-content .wp-block-cover .wp-block-cover__inner-container, .entry-content .is-style-band > * { max-width: 860px; margin-left: auto; margin-right: auto; }
.entry-content .wp-block-cover h2, .entry-content .wp-block-cover h3, .entry-content .wp-block-cover p { color: #fff; }
.entry-content .wp-block-cover .wp-block-buttons, .entry-content .is-style-band .wp-block-buttons { justify-content: center; }
.entry-content .is-style-band { background: var(--ink); }
.entry-content .is-style-band h2, .entry-content .is-style-band h3, .entry-content .is-style-band p { color: #fff; }
.entry-content > .wp-block-cover:first-child, .entry-content > .is-style-band:first-child { margin-top: calc(-1 * clamp(48px, 6vw, 80px)); }
.entry-content > .wp-block-cover:last-child, .entry-content > .is-style-band:last-child { margin-bottom: calc(-1 * clamp(64px, 8vw, 110px)); }
.entry-content .is-style-callout { text-align: center; }

/* Newsletter + inline form. */
.sgx-subscribe { background: var(--paper); border-radius: var(--radius-lg); padding: 28px; margin: 2em 0; }
.sgx-subscribe__title { font-family: var(--font-head); font-size: 24px; font-weight: 700; color: var(--ink); margin: 0 0 4px; }
.sgx-subscribe__row { display: flex; gap: 10px; flex-wrap: wrap; }
.sgx-subscribe input[type=email] { flex: 1 1 240px; padding: 14px 16px; border: 1px solid var(--line); border-radius: var(--btn-radius, 8px); font: inherit; }
.sgx-form { margin: 2em 0; }

/* ---------- Bottom band ---------- */
.sgx-cta { position: relative; isolation: isolate; overflow: hidden; background: var(--ink); color: rgba(255,255,255,.9); text-align: center; padding: clamp(60px, 8vw, 100px) 0; }
.sgx-cta__bg { position: absolute; inset: 0; z-index: -2; }
.sgx-cta__bg img { width: 100%; height: 100%; object-fit: cover; }
.sgx-cta--photo::before { content: ""; position: absolute; inset: 0; z-index: -1; background: #000; opacity: .55; }
.sgx-cta__inner { max-width: 820px; }
.sgx-cta__title { color: #fff; font-size: clamp(30px, 4vw, 46px); line-height: 1.12; }
.sgx-cta__text { font-size: 18px; }
.sgx-cta__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 24px; }

/* ---------- Footer ---------- */
.sgx-footer__grid { display: grid; grid-template-columns: 1.6fr 1fr 1.3fr; gap: 40px; padding-bottom: 56px; }
.sgx-footer__name { font-family: var(--font-head); font-size: 26px; font-weight: 700; color: #fff; display: block; margin-bottom: 14px; }
@media (max-width: 860px) { .sgx-footer__grid { grid-template-columns: 1fr; gap: 32px; } }
.sgx-social { list-style: none; margin: 18px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.sgx-social a { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: rgba(255,255,255,.1); color: inherit; transition: background .2s, color .2s; }
.sgx-social a:hover { background: var(--accent); color: var(--on-accent); }
.sgx-social--top { margin: 0; gap: 4px; }
.sgx-social--top a { width: 28px; height: 28px; background: none; }
.sgx-social--top .sg-icon { width: 15px; height: 15px; }
.sgx-social--contact a { background: var(--paper); color: var(--ink); }
.site-footer__contact li { display: flex; gap: 10px; align-items: flex-start; }
.site-footer__contact { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.site-footer__contact .sg-icon { flex: none; margin-top: 3px; color: var(--accent); }

/* ---------- Contact page ---------- */
.sgx-contact .contact-cards span, .sgx-contact .contact-cards a { font-size: 16.5px; }
@media (max-width: 860px) { .contact-layout { grid-template-columns: 1fr; } }

/* Homepage content: wider than inner pages, centered. */
.home-content .entry-content > * { max-width: 1120px; margin-left: auto; margin-right: auto; }
.home-content .entry-content > p, .home-content .entry-content > h2, .home-content .entry-content > h3, .home-content .entry-content > ul, .home-content .entry-content > .wp-block-quote, .home-content .entry-content > .wp-block-buttons, .home-content .entry-content > .wp-block-embed { max-width: 860px; }
.home-content .entry-content > .alignfull { max-width: none; }
.home-content { padding-top: clamp(56px, 7vw, 96px); }
.entry-content--centered > .wp-block-columns { max-width: none; }
.home-content .entry-content > .alignfull { width: 100vw; max-width: none; margin-left: 50%; margin-right: 0; transform: translateX(-50%); }
/* A photo beside text keeps a steady shape instead of stretching to the text's height. */
.entry-content .wp-block-columns:has(> .wp-block-column > .wp-block-image:only-child) { align-items: center !important; }
.entry-content .wp-block-column:has(> .wp-block-image:only-child) { align-self: center !important; display: block; }
.entry-content .wp-block-column > .wp-block-image:only-child { display: block; }
.entry-content .wp-block-column > .wp-block-image:only-child img { height: auto; min-height: 0; aspect-ratio: 4 / 3.3; }
/* Round photos (Image block style "Rounded") stay circles, in a narrower column. */
.entry-content .wp-block-column > .wp-block-image.is-style-rounded img, .entry-content .wp-block-image.is-style-rounded img { aspect-ratio: 1 !important; border-radius: 50% !important; width: 100%; max-width: 300px; margin: 0 auto; object-fit: cover; }
.entry-content .wp-block-column:has(> .wp-block-image.is-style-rounded:only-child) { flex: 0 0 32% !important; }
@media (min-width: 1024px) { .main-nav .menu a { white-space: nowrap; } }
.sgx-header .brand { min-width: 0; flex: 0 1 auto; }
.sgx-header .brand__name { overflow-wrap: anywhere; }
@media (max-width: 480px) { .sgx-header .brand__name { font-size: 17px; } .sgx-header .brand__logo { max-width: 46vw; height: auto; max-height: 56px; } }
/* Article cards and articles. */
.project-card__title, .project-card h3 { text-transform: none; }
.project-card__count, .project-card .photo-count { display: none; }
.sgx-article__lead img { width: 100%; max-height: 560px; object-fit: cover; border-radius: var(--radius-lg); }
.section-title { text-transform: none; }
.entry-content .wp-block-gallery.has-nested-images figure.wp-block-image figcaption, .entry-content .wp-block-gallery.has-nested-images figure.wp-block-image .wp-element-caption { position: static; background: none; color: var(--ink); text-shadow: none; padding: 8px 2px 0; font-size: 14px; font-weight: 600; max-height: none; overflow: visible; margin: 0; }
.entry-content .wp-block-gallery.has-nested-images figure.wp-block-image:has(figcaption)::before { display: none; }
.entry-content--centered > .wp-block-gallery, .entry-content--centered > .wp-block-columns { max-width: none; }
.entry-content p a, .entry-content li a { overflow-wrap: anywhere; }

/* ==========================================================================
   Corkey's Inc.'s own look
   ========================================================================== */

h1, h2, h3, h4 { font-weight: 400; }
.entry-content h2 { font-size: clamp(30px, 3.2vw, 40px); }

/* Header: charcoal with Corkey, the name in serif, and a gold menu bar under it. */
.sgx-topbar { background: #262626; color: #cfcfcf; }
.sgx-topbar .sg-icon { color: var(--accent); }
.sgx-header { background: var(--ink); border: 0; }
.sgx-header .brand__logo { height: 84px; }
.sgx-header .brand__name { color: #fff; font-size: 30px; font-weight: 400; letter-spacing: .02em; }
.sgx-header .brand__tagline { color: #e3b75c; font-family: var(--font-body); font-size: 15px; }
.sgx-header .nav-toggle { background: var(--accent); color: #fff; }
.ck-paynow { margin: 0; }
.ck-paynow__btn { background: transparent; color: #fff; border: 1px solid rgba(255,255,255,.4); padding: 10px 16px; font-size: 14px; cursor: pointer; }
.ck-paynow__btn:hover { border-color: var(--accent); color: #e3b75c; }
@media (min-width: 1024px) {
	.sgx-header .site-header__inner { flex-wrap: wrap; gap: 0 28px; min-height: 0; padding-top: 14px; }
	.sgx-header .brand { margin: 0 auto 14px 0; }
	.sgx-header .site-header__actions { order: 2; margin-bottom: 14px; }
	.sgx-header .main-nav { order: 3; flex-basis: 100%; justify-content: center; margin: 0; background: var(--accent); box-shadow: 0 0 0 100vmax var(--accent); clip-path: inset(0 -100vmax); padding: 4px 0; }
	.sgx-header .main-nav .menu a { color: #fff; font-size: 15.5px; }
	.sgx-header .main-nav .menu > li > a:hover { background: rgba(0,0,0,.12); color: #fff; }
	.sgx-header .main-nav .current-menu-item > a, .sgx-header .main-nav .current_page_item > a { box-shadow: inset 0 -3px 0 #fff; }
	.sgx-header .main-nav__cta { background: var(--ink); color: #fff; }
	.sgx-header .main-nav__cta:hover { background: #000; color: #fff; }
}
@media (max-width: 1023px) {
	.sgx-header .brand__logo { height: 58px; }
	.sgx-header .brand__name { font-size: 21px; }
	.sgx-header .brand__tagline { display: none; }
	.ck-paynow__btn { padding: 8px 12px; font-size: 13px; }
}
@media (max-width: 480px) { .sgx-header .brand__name { font-size: 18px; } .ck-paynow__btn span, .ck-paynow__btn .sg-icon { display: none; } }

/* Hero and banners: photo with the headline in white serif, gold button. */
.sgx-hero__title { font-weight: 400; }
.sgx-banner { background: var(--ink); }
.sgx-banner .page-hero__title { font-weight: 400; }
.sgx-banner::after { display: block; height: 5px; background: var(--accent); }

/* Content: centered intro text and white service cards on a gold band, as before. */
.home-content .entry-content > h2, .home-content .entry-content > p { text-align: center; margin-left: auto; margin-right: auto; }
.home-content .entry-content > .wp-block-columns .wp-block-column { background: #fff; text-align: center; padding-bottom: 18px; box-shadow: 0 6px 18px rgba(0,0,0,.08); border: 1px solid var(--line); }
.home-content .entry-content > .wp-block-columns .wp-block-column img { border-radius: 0; aspect-ratio: 4 / 3; }
.home-content .entry-content > .wp-block-columns .wp-block-buttons { justify-content: center; }
.home-content .entry-content .wp-block-column h3 { margin: 16px 0 10px; }
.entry-content .wp-block-button__link { background: var(--ink); color: #fff; }
.entry-content .wp-block-button__link:hover { background: var(--accent); }
.entry-content .wp-block-cover .wp-block-button__link { background: var(--accent); }
.entry-content blockquote, .entry-content .wp-block-quote { border-left-color: var(--accent); }
.entry-content blockquote p { font-size: 18px; font-style: italic; font-weight: 400; }
.entry-content .wp-block-cover h2 { font-size: clamp(32px, 4.4vw, 52px); }

/* Bottom band and footer. */
.sgx-cta__title { font-weight: 400; }
.sgx-cta .btn--accent { color: #fff; }
.site-footer { background: #262626; }
.sgx-footer .site-footer__logo { height: 90px; }
.site-footer__title { font-family: var(--font-head); font-weight: 400; color: #e3b75c; }

/* Bottom band, light version: used when the page already ends with a photo band. */
.sgx-cta.sgx-cta--plain { background: var(--paper); color: var(--ink); clip-path: none; margin-top: 0; padding-top: clamp(60px, 8vw, 100px); }
.sgx-cta--plain .sgx-cta__title { color: var(--ink); }
.sgx-cta--plain .sgx-cta__text { color: var(--steel); }
.sgx-cta--plain .eyebrow { color: var(--accent-text); }
.sgx-cta--plain .btn--ghost { border-color: var(--ink); color: var(--ink); }
.sgx-cta--plain .btn--ghost:hover { background: var(--ink); color: #fff; }
