/*
 * AHC v2 skin for the Oxygen pages (home, Unit Type pages, blog, cookie policy) and the shared footer.
 * Loaded only when the ahc_pages_design option is "v2". Styling only: no copy, images or video change.
 * Content rules are scoped to .ct-inner-content, which the plugin's own pages do not use.
 * Sizes in px: the Oxygen theme does not use a 16px root.
 */
@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url("v2/manrope-latin.woff2") format("woff2");
}

body.ahc-v2p {
  --ahc-head: 65px;
  --ahc-deep: #0b2033;
  --ahc-blue: #176191;
  --ahc-sky: #26a9e0;
  --ahc-ice: #a9dcf5;
  --ahc-ink: #13293a;
  --ahc-muted: #5d6f7d;
  --ahc-line: #e1e8ee;
  --ahc-paper: #f3f6f9;
  --ahc-radius: 18px;
  --ahc-shadow: 0 1px 2px rgba(11, 32, 51, .06), 0 12px 32px -12px rgba(11, 32, 51, .22);
  --ahc-display: "Manrope", Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
@media (max-width: 1024px) { body.ahc-v2p { --ahc-head: 56px; } }

/* Header over the photo or video until it turns sticky. */
body.ahc-v2p-hero #_header-3-81 { z-index: 30; }
body.ahc-v2p-hero #_header-3-81:not(.oxy-sticky-header-active),
body.ahc-v2p-hero #_header-3-81:not(.oxy-sticky-header-active) #_header_row-4-81 { background: transparent !important; box-shadow: none !important; }
body.ahc-v2p-hero #_header-3-81:not(.oxy-sticky-header-active) #_header_row-4-81 { border-bottom-color: rgba(255, 255, 255, .12) !important; }
body.ahc-v2p #_header-3-81.oxy-sticky-header-active { background: rgba(11, 32, 51, .92) !important; -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }

/* Type, shared by every Oxygen page. */
body.ahc-v2p .ct-inner-content .ct-headline { font-family: var(--ahc-display); letter-spacing: -.02em; }
body.ahc-v2p .ct-inner-content .ct-headline:is(.h2, .h3):not(.color-white) { color: var(--ahc-ink); font-weight: 400; letter-spacing: -.025em; }
body.ahc-v2p .ct-inner-content .ct-headline.h4:not(.color-white) { color: var(--ahc-ink); font-weight: 500; }
body.ahc-v2p .ct-inner-content .oxy-shape-divider { display: none; }

/* Buttons become pills. */
body.ahc-v2p .ct-inner-content :is(.btn-primary, .btn-white, .ct-link-button) { border-radius: 999px; font-weight: 600; letter-spacing: 0; }
body.ahc-v2p .ct-inner-content .btn-primary { background-color: var(--ahc-deep); color: #fff; box-shadow: 0 10px 24px -12px rgba(11, 32, 51, .55); }
body.ahc-v2p .ct-inner-content .btn-primary:hover { background-color: var(--ahc-blue); }

/* Photos and framed blocks. */
body.ahc-v2p .ct-inner-content .rounded-lg { overflow: hidden; border-radius: 22px; }
body.ahc-v2p .ct-inner-content div.rounded-lg:has(> img) { box-shadow: var(--ahc-shadow); }
body.ahc-v2p .ct-inner-content div.bg-white.rounded-lg:not(:has(> img)) { overflow: visible; background-color: transparent; box-shadow: none; }
body.ahc-v2p .ct-inner-content .ct-image.object-cover { border-radius: var(--ahc-radius); }
body.ahc-v2p .ct-inner-content .rounded-lg > .ct-image:not(.object-contain) { width: 100%; height: 100%; object-fit: cover; }

/* Ticked lists: soft rounded rows in place of grey bars. */
body.ahc-v2p .ct-inner-content .oxel_iconlist__row { border-radius: 12px; background: transparent; }
body.ahc-v2p .ct-inner-content .oxel_iconlist__row--dark { background: var(--ahc-paper); }
body.ahc-v2p .ct-inner-content .oxel_iconlist__row__icon { color: var(--ahc-blue); }
body.ahc-v2p .ct-inner-content .oxel_iconlist__row__icon svg { fill: currentColor; }
body.ahc-v2p .ct-inner-content .oxel_iconlist__row__label { color: var(--ahc-ink); font-weight: 500; }

/* "Suitable for" carousels: white cards with a navy icon disc. Padding is left alone so Flickity's heights hold. */
body.ahc-v2p .ct-inner-content .bg-alt { background-color: var(--ahc-paper); }
body.ahc-v2p .ct-inner-content .oxy-carousel-builder .ct-div-block.shadow { border: 1px solid var(--ahc-line); border-radius: var(--ahc-radius); background-color: #fff; box-shadow: var(--ahc-shadow); }
body.ahc-v2p .ct-inner-content .oxy-carousel-builder .icon-img { background: linear-gradient(135deg, var(--ahc-blue), var(--ahc-deep)); box-shadow: 0 10px 22px -12px rgba(11, 32, 51, .6); }
body.ahc-v2p .ct-inner-content .oxy-carousel-builder .ct-text-block.color-dark { color: var(--ahc-ink); font-family: var(--ahc-display); font-weight: 600; }
body.ahc-v2p .ct-inner-content .oxy-carousel-builder .flickity-page-dots .dot { background: var(--ahc-deep); }
body.ahc-v2p .ct-inner-content .oxy-carousel-builder .flickity-prev-next-button { border-radius: 50%; background: #fff; box-shadow: var(--ahc-shadow); }

/* Home: video hero. The video stays; only the overlay, spacing and type change. */
body.ahc-v2p-hero #section-2-84 { margin-top: calc(-1 * var(--ahc-head)); background-color: var(--ahc-deep); }
body.ahc-v2p-hero #section-2-84 > .ct-section-inner-wrap { position: relative; z-index: 2; min-height: min(86vh, 820px); justify-content: center; padding-top: calc(var(--ahc-head) + 72px); padding-bottom: 120px; }
body.ahc-v2p #section-2-84 .oxy-video-overlay { background: linear-gradient(90deg, rgba(8, 24, 39, .92) 0%, rgba(8, 24, 39, .76) 40%, rgba(8, 24, 39, .3) 72%, rgba(8, 24, 39, .2) 100%), linear-gradient(180deg, rgba(8, 24, 39, .55) 0%, rgba(8, 24, 39, 0) 24%, rgba(8, 24, 39, 0) 70%, rgba(8, 24, 39, .6) 100%) !important; opacity: 1 !important; }
body.ahc-v2p #section-2-84::after { content: ""; position: absolute; left: 0; right: 0; bottom: -2px; z-index: 1; height: 140px; background: linear-gradient(180deg, rgba(243, 246, 249, 0) 0%, var(--ahc-paper) 100%); pointer-events: none; }
body.ahc-v2p #section-2-84 #div_block-3-84 { align-items: center; column-gap: 64px; }
body.ahc-v2p #section-2-84 #headline-5-84 { margin-bottom: 24px; color: #fff; font-size: clamp(44px, 5.2vw, 78px); font-weight: 300; letter-spacing: -.035em; line-height: 1.02; }
body.ahc-v2p #section-2-84 .ct-text-block.color-white { max-width: 560px; color: rgba(255, 255, 255, .84); font-size: 18px; font-weight: 300; line-height: 1.6; }
body.ahc-v2p #section-2-84 #headline-566-84 { margin-top: 34px; padding-left: 18px; border-left: 2px solid var(--ahc-sky); color: var(--ahc-ice); font-size: clamp(19px, 1.6vw, 23px); font-weight: 500; letter-spacing: -.015em; line-height: 1.3; }
body.ahc-v2p #section-2-84 #text_block-569-84 { padding-left: 20px; font-size: 16px; }
body.ahc-v2p #section-2-84 #div_block-562-84 { justify-self: end; align-self: center; width: min(100%, 420px); height: auto; min-height: 0; padding: 36px 40px; border-radius: 26px; background-color: rgba(255, 255, 255, .97); box-shadow: 0 40px 80px -36px rgba(0, 0, 0, .7); }

/* Home: centred section headings get more room. */
body.ahc-v2p .ct-inner-content #headline-36-84 { margin-bottom: 40px; font-size: clamp(28px, 2.7vw, 40px); }

/* Home: tabs as one segmented control. */
body.ahc-v2p .ct-inner-content .oxy-tabs-wrapper { gap: 4px; padding: 6px; border-radius: 999px; background: var(--ahc-paper); }
body.ahc-v2p .ct-inner-content .oxy-tabs-wrapper .oxy-tab { border: 0; border-radius: 999px; background-color: transparent; color: var(--ahc-ink); transition: background-color .18s ease, color .18s ease; }
body.ahc-v2p .ct-inner-content .oxy-tabs-wrapper .oxy-tab:hover { background-color: #e3ecf2; color: var(--ahc-ink); }
body.ahc-v2p .ct-inner-content .oxy-tabs-wrapper .oxy-tab.tabs-5308-tab-active { background-color: var(--ahc-deep); color: #fff; box-shadow: 0 8px 20px -10px rgba(11, 32, 51, .6); }
body.ahc-v2p .ct-inner-content .oxy-tabs-wrapper .oxy-tab .ct-headline { font-size: 14.5px; font-weight: 600; letter-spacing: 0; }

/* Home: service cards in the listing-card style, photo full bleed with the name over a dark fade. */
body.ahc-v2p .ct-inner-content .service-card { position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden; padding: 0; border-radius: var(--ahc-radius); background: #d9e3ea; box-shadow: var(--ahc-shadow); transform: none; transition: transform .25s ease, box-shadow .25s ease; }
body.ahc-v2p .ct-inner-content .service-card:is(:hover, :focus, :active) { transform: translateY(-4px); box-shadow: 0 1px 2px rgba(11, 32, 51, .06), 0 22px 44px -16px rgba(11, 32, 51, .32); }
body.ahc-v2p .ct-inner-content .service-card > img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; max-width: none; border-radius: 0; object-fit: cover; transition: transform .6s cubic-bezier(.2, .7, .2, 1); }
body.ahc-v2p .ct-inner-content .service-card:hover > img { transform: scale(1.04); }
body.ahc-v2p .ct-inner-content .service-card::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(8, 24, 39, 0) 38%, rgba(8, 24, 39, .9) 100%); pointer-events: none; }
body.ahc-v2p .ct-inner-content .service-card > .ct-div-block { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; align-items: stretch; padding: 0 18px 16px 20px; text-align: left; }
body.ahc-v2p .ct-inner-content .service-card .ct-headline { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 0; color: #fff; font-size: 19px; font-weight: 500; text-shadow: 0 1px 12px rgba(0, 0, 0, .45); }
body.ahc-v2p .ct-inner-content .service-card .ct-headline br { display: none; }
body.ahc-v2p .ct-inner-content .service-card .ct-headline::after { content: ""; flex: none; width: 34px; height: 34px; border-radius: 50%; background: rgba(255, 255, 255, .16) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h15m-6-6 6 6-6 6'/%3E%3C/svg%3E") no-repeat center / 16px; transition: background-color .2s ease; }
body.ahc-v2p .ct-inner-content .service-card:hover .ct-headline::after { background-color: var(--ahc-sky); }

/* Unit Type pages and the blog: the title bar becomes a photo hero under the header. */
body.ahc-v2p-hero :is(#section-48-129, #section-2-139) { margin-top: calc(-1 * var(--ahc-head)); background: linear-gradient(90deg, rgba(8, 24, 39, .94) 0%, rgba(8, 24, 39, .8) 45%, rgba(8, 24, 39, .6) 100%), linear-gradient(180deg, rgba(8, 24, 39, .5) 0%, rgba(8, 24, 39, 0) 30%), var(--ahc-page-hero, none) center / cover no-repeat; background-color: var(--ahc-deep); }
body.ahc-v2p-hero :is(#section-48-129, #section-2-139) > .ct-section-inner-wrap { padding-top: calc(var(--ahc-head) + 96px); padding-bottom: 84px; }
body.ahc-v2p-hero :is(#section-48-129, #section-2-139) h1 { font-family: var(--ahc-display); font-size: clamp(42px, 4.8vw, 70px); font-weight: 300; letter-spacing: -.035em; line-height: 1.04; }
body.ahc-v2p-hero :is(#section-48-129, #section-2-139) .breadcrumb-wrapper { color: rgba(255, 255, 255, .7); font-size: 14px; }
body.ahc-v2p-hero :is(#section-48-129, #section-2-139) .breadcrumb-wrapper a { color: rgba(255, 255, 255, .85); }
body.ahc-v2p-hero :is(#section-48-129, #section-2-139) .breadcrumb_last strong { color: #fff; font-weight: 600; }
/* Unit Type page headers use the generated, illustrative photos in assets/types. */
body.ahc-v2p.page-id-2015 { --ahc-page-hero: url("types/office-2400.jpg"); }
body.ahc-v2p.page-id-2033 { --ahc-page-hero: url("types/mailing-2400.jpg"); }
body.ahc-v2p.page-id-2039 { --ahc-page-hero: url("types/workshop-2400.jpg"); }
body.ahc-v2p.page-id-2048 { --ahc-page-hero: url("types/retail-2400.jpg"); }
body.ahc-v2p.page-id-2059 { --ahc-page-hero: url("types/industrial-2400.jpg"); }
body.ahc-v2p.page-id-2109 { --ahc-page-hero: url("types/studio-2400.jpg"); }
@media (max-width: 1100px) {
  body.ahc-v2p.page-id-2015 { --ahc-page-hero: url("types/office-1200.jpg"); }
  body.ahc-v2p.page-id-2033 { --ahc-page-hero: url("types/mailing-1200.jpg"); }
  body.ahc-v2p.page-id-2039 { --ahc-page-hero: url("types/workshop-1200.jpg"); }
  body.ahc-v2p.page-id-2048 { --ahc-page-hero: url("types/retail-1200.jpg"); }
  body.ahc-v2p.page-id-2059 { --ahc-page-hero: url("types/industrial-1200.jpg"); }
  body.ahc-v2p.page-id-2109 { --ahc-page-hero: url("types/studio-1200.jpg"); }
}
body.ahc-v2p.blog { --ahc-page-hero: url("v2/hero-1280.jpg"); }

/* Footer, on every page so listing and Oxygen pages match. */
body.ahc-v2p #section-21-81 { background-color: var(--ahc-deep); }
body.ahc-v2p #section-21-81 .ct-headline { color: #fff; font-family: var(--ahc-display); font-weight: 600; letter-spacing: -.01em; }
body.ahc-v2p #section-21-81 :is(input, textarea, select) { border-radius: 10px; }
body.ahc-v2p #section-21-81 :is(button, .ff-btn) { border-radius: 999px; font-weight: 600; }
body.ahc-v2p #section-132-1935 { background-color: #081827; }

@media (max-width: 1100px) {
  body.ahc-v2p #section-2-84 #div_block-562-84 { justify-self: start; }
}
@media (max-width: 767px) {
  body.ahc-v2p-hero #section-2-84 > .ct-section-inner-wrap { min-height: 0; padding-top: calc(var(--ahc-head) + 44px); padding-bottom: 96px; }
  body.ahc-v2p #section-2-84 .oxy-video-overlay { background: linear-gradient(180deg, rgba(8, 24, 39, .74) 0%, rgba(8, 24, 39, .62) 45%, rgba(8, 24, 39, .9) 100%) !important; }
  body.ahc-v2p #section-2-84 .ct-text-block.color-white { font-size: 16px; }
  body.ahc-v2p #section-2-84 #div_block-562-84 { width: min(100%, 300px); padding: 24px 28px; border-radius: 20px; }
  body.ahc-v2p .ct-inner-content .oxy-tabs-wrapper { border-radius: 18px; }
  body.ahc-v2p .ct-inner-content .oxy-tabs-wrapper .oxy-tab { border-radius: 12px; }
  body.ahc-v2p-hero :is(#section-48-129, #section-2-139) > .ct-section-inner-wrap { padding-top: calc(var(--ahc-head) + 48px); padding-bottom: 52px; }
}
