/* Approved-preview Home page synchronisation — 2026-08-13 */
.preview-home-page {
    --ps-ink: #07111f;
    --ps-ink-2: #0b1b2c;
    --ps-paper: #f6f8fa;
    --ps-slate: #536171;
    --ps-line: rgba(9, 26, 43, .11);
    --ps-cyan: #08b9d4;
    --ps-magenta: #e63b83;
    --ps-yellow: #f6c445;
    overflow: hidden;
    color: var(--ps-ink);
    background: var(--ps-paper);
    font-family: "Manrope", sans-serif;
}

.preview-home-page h1,
.preview-home-page h2,
.preview-home-page h3,
.preview-home-page h4 { font-family: "Syne", "Plus Jakarta Sans", sans-serif; }

.ps-home-hero { height: 710px; min-height: 650px; position: relative; overflow: hidden; color: #fff; background: #06121f; }
.ps-home-slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity .9s ease, visibility .9s ease; }
.ps-home-slide.is-active { opacity: 1; visibility: visible; }
.ps-home-slide > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transform: scale(1.025); transition: transform 7s linear; }
.ps-home-slide.is-active > img { transform: scale(1.075); }
.ps-home-veil { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(2, 11, 19, .96) 0%, rgba(3, 15, 25, .84) 42%, rgba(4, 17, 28, .35) 72%, rgba(4, 17, 28, .17) 100%), linear-gradient(0deg, rgba(4, 15, 24, .64), transparent 42%); }
.ps-home-grid { position: absolute; inset: 0; opacity: .16; background-image: linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px); background-size: 58px 58px; -webkit-mask-image: linear-gradient(90deg, #000, transparent 90%); mask-image: linear-gradient(90deg, #000, transparent 90%); }
.ps-home-hero__inner { height: 100%; position: relative; z-index: 2; display: flex; align-items: center; padding-top: 10px; padding-bottom: 74px; }
.ps-home-hero__copy { width: min(810px, 72%); }
.ps-home-hero h1,
.ps-home-hero h2 { max-width: 780px; margin: 22px 0 20px; color: #fff; font-size: clamp(44px, 5.2vw, 76px); line-height: .99; letter-spacing: -.055em; }
.ps-home-hero__copy > p { max-width: 650px; margin: 0; color: rgba(255,255,255,.67); font-size: 16px; line-height: 1.75; }
.ps-home-actions { display: flex; gap: 11px; margin-top: 30px; }
.ps-button--glass { color: #fff; border: 1px solid rgba(255,255,255,.2); background: rgba(255,255,255,.08); box-shadow: none; backdrop-filter: blur(12px); }
.ps-button--glass:hover { background: rgba(255,255,255,.14); box-shadow: 0 18px 38px rgba(0,0,0,.15); }
.ps-home-controls { position: absolute; z-index: 4; right: 0; bottom: 83px; left: 0; display: flex; align-items: center; justify-content: space-between; pointer-events: none; }
.ps-home-controls button { pointer-events: auto; }
.ps-home-dots { display: flex; gap: 9px; }
.ps-home-dots button { width: 34px; height: 3px; padding: 0; border: 0; border-radius: 3px; background: rgba(255,255,255,.32); transition: width .25s, background .25s; }
.ps-home-dots button.is-active { width: 64px; background: linear-gradient(90deg, var(--ps-cyan), var(--ps-magenta), var(--ps-yellow)); }
.ps-home-arrows { display: flex; gap: 8px; }
.ps-home-arrows button { width: 44px; height: 44px; display: grid; place-items: center; color: #fff; border: 1px solid rgba(255,255,255,.19); border-radius: 50%; background: rgba(4,17,28,.48); font-size: 18px; backdrop-filter: blur(10px); transition: transform .25s, background .25s; }
.ps-home-arrows button:hover { transform: translateY(-3px); background: rgba(8,185,212,.75); }

.ps-home-metrics { position: relative; z-index: 6; margin-top: -58px; }
.ps-home-metrics__grid { position: relative; overflow: hidden; display: grid; grid-template-columns: repeat(4, 1fr); background: #fff; border: 1px solid var(--ps-line); border-radius: 21px; box-shadow: 0 24px 70px rgba(8,29,48,.16); }
.ps-home-metrics__grid > * { min-height: 126px; padding: 26px 30px; display: flex; flex-direction: column; justify-content: center; border-right: 1px solid var(--ps-line); }
.ps-home-metrics__grid > *:last-child { border-right: 0; }
.ps-home-metrics strong { color: var(--ps-ink); font-family: "Syne", sans-serif; font-size: 34px; line-height: 1; }
.ps-home-metrics span { margin-top: 8px; color: #75818b; font-size: 10px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.ps-home-metrics a { position: relative; color: var(--ps-ink); background: linear-gradient(145deg, rgba(8,185,212,.09), rgba(230,59,131,.04)); }
.ps-home-metrics a strong { margin-top: 7px; font-size: 18px; }
.ps-home-metrics a i { position: absolute; right: 25px; top: 50%; width: 36px; height: 36px; display: grid; place-items: center; color: #fff; border-radius: 50%; background: var(--ps-ink); font-style: normal; transform: translateY(-50%); }

.ps-home-products { padding-top: 155px; background: #f7f9fb; }
.ps-ink-orb { position: absolute; border-radius: 50%; filter: blur(8px); pointer-events: none; }
.ps-ink-orb--one { width: 410px; height: 410px; top: -210px; right: -180px; background: rgba(0,188,216,.1); }
.ps-ink-orb--two { width: 330px; height: 330px; bottom: -190px; left: -160px; background: rgba(225,43,119,.08); }

.ps-quality-section { background: #eef2f4; }
.ps-quality-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 100px; align-items: center; }
.ps-quality-visual { min-height: 560px; position: relative; display: grid; place-items: center; perspective: 1000px; }
.ps-print-sheet { width: 84%; position: relative; display: flex; flex-direction: column; justify-content: flex-end; overflow: hidden; aspect-ratio: .84; padding: 62px 48px; color: #fff; border: 1px solid rgba(255,255,255,.12); border-radius: 5px; background: linear-gradient(145deg, #0a1a2b, #0d2a3c 58%, #0a1725); box-shadow: 35px 45px 60px rgba(11,34,50,.2); transform: rotateY(8deg) rotateX(2deg) rotateZ(-3deg); }
.ps-print-sheet::before { position: absolute; inset: 0; content: ""; background: radial-gradient(circle at 20% 20%, rgba(0,194,216,.3), transparent 32%), radial-gradient(circle at 80% 80%, rgba(230,59,131,.22), transparent 34%); }
.ps-print-sheet strong,
.ps-print-sheet small { position: relative; z-index: 2; }
.ps-print-sheet strong { font-size: 56px; line-height: .9; letter-spacing: -.07em; }
.ps-print-sheet small { margin-top: 22px; color: rgba(255,255,255,.55); font-size: 8px; letter-spacing: .16em; text-transform: uppercase; }
.ps-cmyk-ring { position: absolute; z-index: 2; top: 62px; left: 48px; display: flex; }
.ps-cmyk-ring span { width: 50px; height: 50px; margin-right: -13px; display: grid; place-items: center; color: #fff; border-radius: 50%; font-size: 9px; font-weight: 900; mix-blend-mode: screen; }
.ps-cmyk-ring span:nth-child(1) { background: #00aeda; }.ps-cmyk-ring span:nth-child(2) { background: #d82379; }.ps-cmyk-ring span:nth-child(3) { background: #e0b500; }.ps-cmyk-ring span:nth-child(4) { border: 1px solid rgba(255,255,255,.2); background: #07101b; }
.ps-crop { width: 22px; height: 22px; position: absolute; z-index: 2; border-color: rgba(255,255,255,.44); }
.ps-crop--one { top: 22px; left: 22px; border-top: 1px solid; border-left: 1px solid; }.ps-crop--two { top: 22px; right: 22px; border-top: 1px solid; border-right: 1px solid; }.ps-crop--three { bottom: 22px; left: 22px; border-bottom: 1px solid; border-left: 1px solid; }.ps-crop--four { right: 22px; bottom: 22px; border-right: 1px solid; border-bottom: 1px solid; }
.ps-quality-badge { width: 148px; height: 148px; position: absolute; right: 0; bottom: 44px; display: flex; flex-direction: column; justify-content: center; padding: 25px; color: var(--ps-ink); border-radius: 50%; background: var(--ps-yellow); box-shadow: 0 24px 45px rgba(86,68,5,.2); }
.ps-quality-badge strong { font-family: "Syne", sans-serif; font-size: 28px; }.ps-quality-badge span { font-size: 9px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.ps-quality-copy h2 { margin: 15px 0 0; font-size: clamp(36px, 4vw, 54px); line-height: 1.06; letter-spacing: -.05em; }
.ps-quality-copy > p { margin: 24px 0 34px; color: var(--ps-slate); font-size: 14px; line-height: 1.8; }
.ps-quality-list { border-top: 1px solid var(--ps-line); }
.ps-quality-list > div { padding: 19px 0; display: grid; grid-template-columns: 44px 1fr; gap: 18px; border-bottom: 1px solid var(--ps-line); }
.ps-quality-list > div > span { color: #0c8099; font-size: 10px; font-weight: 900; }.ps-quality-list h3 { margin: 0; font-size: 16px; }.ps-quality-list p { margin: 5px 0 0; color: #6c7a85; font-size: 12px; }

.ps-principles-section { padding: 120px 0; color: #fff; background: #081623; }
.ps-principles-heading h2 { color: #fff; }.ps-principles-heading > p { color: rgba(255,255,255,.55); }
.ps-principles-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.ps-principle-card { overflow: hidden; border: 1px solid rgba(255,255,255,.1); border-radius: 23px; background: rgba(255,255,255,.045); transition: transform .3s ease, background .3s ease; }
.ps-principle-card:hover { transform: translateY(-8px); background: rgba(255,255,255,.075); }
.ps-principle-image { position: relative; overflow: hidden; aspect-ratio: 4 / 3; background: #0a1b2a; }
.ps-principle-image::after { position: absolute; inset: 0; content: ""; background: linear-gradient(180deg, transparent 45%, rgba(8,22,35,.75)); }
.ps-principle-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }.ps-principle-card:hover img { transform: scale(1.065); }
.ps-principle-copy { min-height: 225px; position: relative; padding: 25px 23px; }.ps-principle-copy > span { position: absolute; top: 24px; right: 23px; color: rgba(255,255,255,.22); font-size: 10px; font-weight: 900; }.ps-principle-copy h3 { margin: 0 0 12px; color: #fff; font-size: 20px; }.ps-principle-copy p { margin: 0; color: rgba(255,255,255,.56); font-size: 11px; line-height: 1.72; }

.ps-home-contact { position: relative; overflow: hidden; padding: 120px 0; color: #fff; background: #081623; }
.ps-home-contact::before { width: 700px; height: 700px; position: absolute; top: -260px; left: -380px; content: ""; border-radius: 50%; background: rgba(0,185,212,.11); filter: blur(30px); }
.ps-contact-mesh { position: absolute; inset: 0; opacity: .13; background-image: linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px); background-size: 48px 48px; }
.ps-contact-grid { position: relative; display: grid; grid-template-columns: .88fr 1.12fr; gap: 90px; align-items: center; }
.ps-contact-copy h2 { margin: 15px 0 0; color: #fff; font-size: clamp(36px, 4vw, 54px); line-height: 1.06; letter-spacing: -.05em; }
.ps-contact-copy > p { margin: 24px 0; color: rgba(255,255,255,.6); font-size: 14px; line-height: 1.8; }
.ps-contact-points { display: flex; flex-direction: column; gap: 12px; color: rgba(255,255,255,.75); font-size: 12px; }
.ps-contact-phone { min-width: 270px; position: relative; margin-top: 34px; padding: 19px 58px 19px 20px; display: inline-flex; flex-direction: column; color: #fff; border: 1px solid rgba(255,255,255,.14); border-radius: 17px; background: rgba(255,255,255,.05); }
.ps-contact-phone:hover { color: #fff; background: rgba(255,255,255,.09); }.ps-contact-phone small { color: rgba(255,255,255,.48); font-size: 8px; letter-spacing: .14em; text-transform: uppercase; }.ps-contact-phone strong { margin-top: 6px; font-size: 20px; }.ps-contact-phone i { width: 34px; height: 34px; position: absolute; top: 50%; right: 16px; display: grid; place-items: center; color: var(--ps-cyan); border-radius: 50%; background: rgba(255,255,255,.08); font-style: normal; transform: translateY(-50%); }
.ps-quote-form { padding: 38px; color: var(--ps-ink); border: 1px solid rgba(255,255,255,.25); border-radius: 26px; background: rgba(255,255,255,.97); box-shadow: 0 35px 90px rgba(0,0,0,.27); }
.ps-form-heading { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 26px; }.ps-form-heading span { color: #16829a; font-size: 8px; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }.ps-form-heading h3 { margin: 7px 0 0; color: var(--ps-ink); font-size: 27px; letter-spacing: -.04em; }.ps-form-heading b { color: #d9dfe3; font-family: "Syne", sans-serif; font-size: 42px; }
.ps-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }.ps-form-grid label { display: flex; flex-direction: column; gap: 7px; }.ps-form-grid label.wide { grid-column: 1 / -1; }.ps-form-grid label > span { color: #64717d; font-size: 9px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.ps-form-grid input,
.ps-form-grid textarea { width: 100%; padding: 14px 15px; color: var(--ps-ink); border: 1px solid transparent; border-radius: 11px; outline: 0; background: #f0f3f5; resize: vertical; transition: border .2s, background .2s, box-shadow .2s; }
.ps-form-grid input:focus,
.ps-form-grid textarea:focus { border-color: var(--ps-cyan); background: #fff; box-shadow: 0 0 0 4px rgba(8,185,212,.1); }
.ps-field-error { color: #b62655; font-size: 10px; }.ps-form-alert { margin-bottom: 16px; padding: 11px 13px; color: #8d2346; border-radius: 10px; background: #fff0f5; font-size: 11px; }.ps-form-alert:empty { display: none; }.ps-form-alert--success { color: #176039; border: 1px solid #a8e0be; background: #eaf9f0; }
.ps-form-button { width: 100%; margin-top: 18px; }.ps-privacy-note { margin: 12px 0 0; color: #89939c; text-align: center; font-size: 9px; }

@media (max-width: 991.98px) {
    .ps-home-hero { height: 680px; }
    .ps-home-hero__copy { width: 82%; }
    .ps-home-metrics__grid { grid-template-columns: repeat(2, 1fr); }
    .ps-home-metrics__grid > *:nth-child(2) { border-right: 0; }
    .ps-home-metrics__grid > * { border-bottom: 1px solid var(--ps-line); }
    .ps-quality-grid,
    .ps-contact-grid { grid-template-columns: 1fr; gap: 60px; }
    .ps-quality-visual { min-height: 510px; }
    .ps-quality-visual .ps-print-sheet { width: min(440px, 78%); }
    .ps-principles-grid { grid-template-columns: repeat(2, 1fr); }
    .ps-contact-copy { max-width: 650px; }
}

@media (max-width: 575.98px) {
    .ps-home-hero { height: 700px; min-height: 700px; }
    .ps-home-hero__inner { padding-bottom: 70px; }
    .ps-home-hero__copy { width: 100%; }
    .ps-home-hero h1,
    .ps-home-hero h2 { font-size: 43px; }
    .ps-home-hero__copy > p { font-size: 14px; }
    .ps-home-actions { flex-direction: column; align-items: stretch; }
    .ps-home-arrows { display: none; }
    .ps-home-controls { bottom: 33px; }
    .ps-home-metrics { margin-top: 0; }
    .ps-home-metrics__grid { width: calc(100% + 24px); margin-left: -12px; grid-template-columns: 1fr 1fr; border-radius: 0; }
    .ps-home-metrics__grid > * { min-height: 106px; padding: 20px 18px; }
    .ps-home-metrics strong { font-size: 23px; }
    .ps-home-metrics a strong { padding-right: 18px; font-size: 14px; }
    .ps-home-metrics a i { display: none; }
    .ps-quality-visual { min-height: 440px; }
    .ps-print-sheet { width: 88%; padding: 45px 34px; }
    .ps-print-sheet strong { font-size: 43px; }
    .ps-cmyk-ring { top: 45px; left: 34px; }
    .ps-cmyk-ring span { width: 42px; height: 42px; }
    .ps-quality-badge { width: 120px; height: 120px; right: -4px; bottom: 26px; }
    .ps-quality-badge strong { font-size: 22px; }
    .ps-principles-section,
    .ps-home-contact { padding: 88px 0; }
    .ps-principles-grid { grid-template-columns: 1fr; }
    .ps-principle-copy { min-height: auto; }
    .ps-quote-form { padding: 25px 20px; }
    .ps-form-grid { grid-template-columns: 1fr; }
    .ps-form-grid label.wide { grid-column: auto; }
    .ps-form-heading h3 { font-size: 22px; }
    .ps-contact-phone { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
    .ps-home-slide,
    .ps-home-slide > img { transition-duration: .01ms !important; }
}
