/* Presentation layer shared by the public pages. Existing content stays in HTML. */
:root { color-scheme: light; --ink: #15343e; --muted-ink: #536b73; --accent: #20a8d8; --hairline: #dde9ec; --paper: #fbfdfd; }
html { scroll-behavior: smooth; scroll-padding-top: 100px; }
body.site-polished { background: var(--paper); color: var(--ink); padding-top: 112px; font-family: 'Mona Sans Alternative', Arial, sans-serif; font-size: 16px; line-height: 1.65; overflow-x: clip; }
.site-polished *, .site-polished *::before, .site-polished *::after { box-sizing: border-box; }
.site-polished :focus-visible { outline: 3px solid var(--accent); outline-offset: 5px; }
.site-polished img { max-width: 100%; }
.site-polished .container---main { max-width: 1240px; min-width: 0; }
.site-polished .container---main .container---main { padding: 0; }
.site-polished .content-wrapper { padding: 0 clamp(20px, 4vw, 64px) 64px; gap: 0; }
.site-polished .horizontal-line.fw, .site-polished .vertical-line { display: none; }
.site-polished .section-inner { border: 0; padding: 0; gap: 40px; min-width: 0; }
.site-polished .section-inner > *, .site-polished .rows { min-width: 0; }
.site-polished h1, .site-polished h2, .site-polished h3, .site-polished h4 { font-family: 'Mona Sans Alternative', Arial, sans-serif; text-transform: none; letter-spacing: -.035em; text-wrap: balance; }
.site-polished .button:not(.small), .site-polished .button.bordered { background: var(--accent); color: #fff; border: 1px solid var(--accent); border-radius: 10px; font-size: 13px; font-weight: 600; letter-spacing: .025em; min-height: 46px; display: inline-flex; align-items: center; justify-content: center; white-space: normal; line-height: 1.5; transition: background 200ms ease, transform 200ms ease, box-shadow 200ms ease; }
.site-polished .button:not(.small):hover, .site-polished .button.bordered:hover { color: #fff; background: var(--accent); border-color: var(--accent); box-shadow: 0 8px 24px #20a8d833; transform: translateY(-2px); }
/* The video fills its own hero at every viewport height. */
.site-polished.home-light .section-inner.no-border { position: relative; isolation: isolate; width: 100vw; max-width: 100vw; margin-left: calc(50% - 50vw); border-radius: 0; background: #edf6f8; overflow: visible; }
.site-polished.home-light .justify-between.intro-content { max-width: 1240px; margin: 0 auto; position: relative; min-height: 640px; padding: clamp(40px, 5.5vw, 80px); justify-content: center; gap: 30px; width: 100%; }
.site-polished.home-light .intro-content .rows > br { display: none; }
.site-polished.home-light .h2.hero { color: var(--ink); font-size: clamp(36px, 4.2vw, 60px); line-height: 1.12; font-weight: 500; width: 100%; max-width: 820px; padding: 0; margin: 0 0 24px; letter-spacing: -.045em; }
.site-polished.home-light .h2.hero .span { color: var(--accent); }
.site-polished.home-light .intro-content p { color: #15343e; width: 100%; max-width: 610px; font-size: 16px; font-weight: 500; line-height: 1.85; margin: 0; padding: 0; border: 0; background: transparent; }
.site-polished .columns.hero-action { margin: 0; }
.site-polished.home-light a.button.hero-button.btn-lg { padding: 16px 24px !important; max-width: 100%; font-size: 12px; }
.site-polished.home-light .image-wrapper.video-wrapper { inset: -112px 0 0; height: calc(100% + 112px); margin: 0; border-radius: 0; z-index: 0; }
.site-polished.home-light .tall-image { height: 100%; min-height: 100%; }
.site-polished.home-light .tall-image video { width: 100%; height: 100%; object-fit: cover; filter: brightness(.78) saturate(.95); }
.site-polished.home-light span.overlay { inset: -112px 0 0; width: 100%; height: calc(100% + 112px); background: linear-gradient(180deg, rgba(5,58,77,.36), rgba(5,58,77,.12) 45%, transparent 78%), linear-gradient(90deg, rgba(232,246,251,.84), rgba(224,241,247,.63) 48%, rgba(17,59,73,.14)); pointer-events: none; }
/* Every client logo stays visible in a responsive grid. */
.site-polished .container---main.logomarquee { display: block; width: 100%; max-width: 1240px; min-width: 0; margin: 36px auto 52px; overflow: visible; }
.site-polished .logo-burst-section { position: relative; padding: clamp(20px, 2.6vw, 32px); border: 0; border-radius: 28px; background: linear-gradient(135deg, #20a8d8 0%, #c8d4dc 35%, #ffffff 65%, #48a693 100%); overflow: hidden; box-shadow: 0 16px 44px rgba(32,168,216,.08); }
.site-polished .logo-burst-section::before { content: ""; display: block; position: absolute; inset: 0; background-image: linear-gradient(rgba(89,174,228,.2) 1px, transparent 1px), linear-gradient(90deg, rgba(89,174,228,.2) 1px, transparent 1px); background-size: 18px 18px; pointer-events: none; z-index: 0; }
.site-polished .logo-burst-stage { max-width: 100%; margin: 0 auto; display: grid; grid-auto-flow: row; grid-template-columns: repeat(6, minmax(0,1fr)); grid-template-rows: none; gap: 12px; min-height: 0; padding: 4px; overflow: visible; }
.site-polished .logo-burst-core { display: none; }
.site-polished .logo-burst-node, .site-polished .logo-burst-node.is-wide, .site-polished .logo-burst-node.is-compact, .site-polished .logo-burst-node.is-micro, .site-polished .logo-burst-node.is-nano { display: flex; position: relative; left: auto; top: auto; width: auto; height: 88px; min-height: 0; padding: 14px 18px; align-items: center; justify-content: center; background: #fff; border: 1px solid #fff; border-radius: 14px; box-shadow: 0 5px 14px rgba(21,52,62,.09); animation: none; transform: none; translate: none; scroll-snap-align: start; transition: border-color 200ms ease, box-shadow 200ms ease, transform 200ms ease; }
.site-polished .logo-burst-node img { width: 100%; height: 100%; object-fit: contain; filter: none; background: #fff; }
.site-polished .logo-burst-node:hover { border-color: var(--accent); box-shadow: 0 10px 24px rgba(21,52,62,.12); transform: translateY(-2px); }
.site-polished .one-platform-spotlight { height: auto; min-height: 0; background: #fff; border: 1px solid var(--hairline); border-radius: 24px; box-shadow: none; padding: clamp(48px, 5.5vw, 76px) clamp(24px, 4vw, 48px); text-align: center; }
.site-polished .one-platform-spotlight::before, .site-polished .one-platform-spotlight::after, .site-polished .prezzo-spotlight::before, .site-polished .prezzo-spotlight::after, .site-polished .brand-spotlight::after, .site-polished .insights-highlight::after { display: none; }
.site-polished .one-platform-spotlight .medium-heading.white.box { color: var(--ink); font-size: clamp(28px, 3vw, 42px); max-width: 860px; margin: 0 auto; line-height: 1.25; }
.site-polished .one-platform-spotlight .paragraph-2 { padding: 0; max-width: 720px; margin: 12px auto 0; color: var(--muted-ink); }
.site-polished #feature_list { background: transparent; }
.site-polished #feature_list .feature-showcase { background: transparent; border: 0; box-shadow: none; padding: 0; overflow: visible; }
.site-polished #feature_list .feature-grid { gap: 24px; }
.site-polished #feature_list .feature-card { padding: 32px; background: #fff; border: 1px solid var(--hairline); border-radius: 20px; box-shadow: 0 4px 16px #15343e04; }
.site-polished #feature_list .feature-card:hover { border-color: #afd3da; box-shadow: 0 16px 32px #15343e0a; }
.site-polished #feature_list .feature-icon.icon-only { margin-bottom: 24px; }
.site-polished #feature_list .feature-card h4 { color: var(--ink); font-size: 24px; line-height: 1.3; margin-bottom: 16px; }
.site-polished #feature_list .feature-card p { color: var(--muted-ink); font-size: 15px; line-height: 1.8; }
.site-polished #feature_list .feature-pills { margin-top: 24px; }
.site-polished #feature_list .feature-pills span { border: 0; background: #53a593; color: #fff; border-radius: 999px; padding: 6px 10px; font-size: 11px; }
.site-polished .feedback-remix-pills span { border: 0; background: #edf6f7; color: #38616d; border-radius: 6px; padding: 6px 10px; font-size: 11px; }
.site-polished .video-metric-section .section-inner { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); padding: 0; border: 0; background: transparent; box-shadow: none; gap: 20px; }
.site-polished .video-metric-section .metric-box { height: auto; min-height: 220px; border: 1px solid #cce4ed; border-radius: 24px; box-shadow: none; background: var(--accent); }
.site-polished .video-metric-section .metric-overlay { background: linear-gradient(135deg, rgba(32,168,216,.84), rgba(32,168,216,.6)); }
.site-polished .video-metric-section .metric-content { min-height: 220px; padding: 24px; z-index: 3; }
.site-polished .video-metric-section .metric-text { color: #fff; font-size: clamp(40px, 4vw, 58px); text-shadow: none; font-weight: 500; line-height: 1.2; }
.site-polished .video-metric-section .box-text, .site-polished .video-metric-section .box-text.left { color: #fff; text-shadow: none; font-size: 15px; line-height: 1.6; margin-top: 12px; }
.site-polished .prezzo-spotlight, .site-polished .brand-spotlight { height: auto; min-height: 0; background: #f0f7f7; border: 0; box-shadow: none; border-radius: 24px; padding: clamp(28px, 5vw, 64px); text-align: center; }
.site-polished .prezzo-spotlight img { max-width: 220px; max-height: 64px; object-fit: contain; }
.site-polished .prezzo-spotlight .paragraph-2, .site-polished .brand-spotlight .paragraph-2 { padding: 0; max-width: 800px; margin: 0 auto; font-size: clamp(17px, 1.8vw, 22px); line-height: 1.75; color: var(--ink); }
.site-polished .prezzo-spotlight strong { font-size: 13px; color: var(--muted-ink); font-weight: 500; }
.site-polished.home-light .section-inner.event-partners { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: 56px; align-items: center; padding: 30px 0; }
.site-polished .insights-highlight { background: transparent; border: 0; box-shadow: none; border-radius: 0; padding: 0; min-height: 0; }
.site-polished .insights-highlight .medium-heading { color: var(--ink); font-size: clamp(28px, 3vw, 38px); line-height: 1.25; }
.site-polished .insights-highlight .list-item { font-size: 15px; color: var(--muted-ink); line-height: 1.8; }
.site-polished .insights-highlight .text-span-4 { color: var(--ink); font-weight: 600; }
.site-polished.home-light .event-partners .image-13 { border: 1px solid var(--hairline); border-radius: 16px; box-shadow: 0 18px 50px #15343e10; }
.site-polished .supersight-reboot, .site-polished .feedback-builder-showcase { border: 1px solid var(--hairline); background: #fff; padding: clamp(24px, 4vw, 48px); box-shadow: none; border-radius: 24px; }
.site-polished .supersight-simple, .site-polished .feedback-split-grid { gap: 40px; }
.site-polished .supersight-simple-title, .site-polished .feedback-builder-title { font-size: clamp(26px, 3vw, 36px); color: var(--ink); line-height: 1.25; }
.site-polished .supersight-simple-logo, .site-polished .feedback-split-image { filter: none; }
.site-polished .supersight-simple-points li, .site-polished .feedback-split-points li { border: 0; border-bottom: 1px solid var(--hairline); border-radius: 0; background: transparent; box-shadow: none; padding: 16px 0 16px 26px; color: var(--muted-ink); font-size: 15px; }
.site-polished .supersight-simple-points li::before, .site-polished .feedback-split-points li::before { width: 6px; height: 6px; left: 2px; background: var(--accent); box-shadow: none; }
.site-polished .feedback-split-calm { background: transparent; border: 0; padding: 0; box-shadow: none; }
.site-polished .feedback-split-wild { background: #f2f8f9; border: 0; box-shadow: none; padding: 24px; }
.site-polished .feedback-builder-description { color: var(--muted-ink); line-height: 1.8; }
.site-polished .footer { background: var(--accent); color: #fff; border-top: 0; margin-top: 20px; }
.site-polished .footer .content-wrapper { padding-bottom: 0; }
.site-polished .footer .section-inner.white.footer-section { min-height: 0; padding: 48px 0; gap: 48px; }
.site-polished .footer-logo { width: 220px; filter: none; }
.site-polished .footer .white-link, .site-polished .footer .small-text { color: #fff; font-size: 13px; }
.site-polished .footer .small-text.footer { background: transparent; border: 0; margin: 0; padding: 0; color: #fff; font-weight: 600; }
.site-polished .footer-social-media-link { background: transparent; border: 1px solid rgba(255,255,255,.5); margin: 0; width: 38px; height: 38px; }
.site-polished .footer-social-media-icon { filter: brightness(0) invert(1); opacity: 1; }
.site-polished .footer-bottom { padding: 20px 0; border-top: 1px solid rgba(255,255,255,.25); }
.site-polished .back-to-top-button { background: var(--accent); border: 0; border-radius: 50%; }
.site-polished .section-inner.contact { max-width: 760px; margin: 30px auto; }
.site-polished .form-block { width: 100%; background: #fff; border: 1px solid var(--hairline); box-shadow: 0 20px 60px #15343e08; padding: clamp(24px, 5vw, 56px); }
.site-polished .form-block::after { display: none; }
.site-polished #contact-form { display: grid; width: 100%; max-width: none; min-width: 0; gap: 18px; }
.site-polished #contact-form .form-input { font-size: 16px; background: #f8fbfc; border: 1px solid #d0e0e4; border-radius: 10px; min-height: 54px; padding: 16px; color: var(--ink); margin: 0; }
.site-polished #contact-form textarea { min-height: 160px; resize: vertical; }
.site-polished #contact-form .form-input:focus { border-color: var(--accent); }
.site-polished .quote .section-inner.event-partners { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: stretch; gap: 24px; padding: 0; }
.site-polished .quote h3 { font-size: 17px; line-height: 1.8; font-weight: 400; letter-spacing: -.01em; text-wrap: pretty; margin: 0; }
.site-polished .quote h4 { color: var(--muted-ink); font-size: 13px; line-height: 1.6; margin: 24px 0 0; letter-spacing: 0; }
.site-polished .section-inner.legal, .site-polished .section-inner.legal-article { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 48px; height: auto; padding: 40px 0; }
.site-polished .section-inner.legal h1 { font-size: clamp(36px, 5vw, 64px); }
.site-polished .section-inner.legal-article p { font-size: 15px; line-height: 1.85; }
.site-polished .reveal-in { animation: polishedReveal 650ms cubic-bezier(.22,1,.36,1) both; }
@keyframes polishedReveal { from { opacity: .45; transform: translateY(16px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 991px) {
 .site-polished.home-light .justify-between.intro-content { min-height: 600px; padding: 44px; }
 .site-polished.home-light .section-inner.event-partners, .site-polished .quote .section-inner.event-partners { display: grid; grid-template-columns: 1fr; gap: 28px; }
 .site-polished #feature_list .feature-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .site-polished .supersight-simple, .site-polished .feedback-split-grid { grid-template-columns: 1fr; gap: 28px; }
}
@media (max-width: 600px) {
 body.site-polished { padding-top: 104px; }
 .site-polished .content-wrapper { padding-bottom: 40px; }
 .site-polished.home-light .section-inner.no-border { border-radius: 0; }
 .site-polished.home-light .justify-between.intro-content { min-height: 0; padding: 36px 24px 40px; gap: 26px; }
 .site-polished.home-light .h2.hero { font-size: clamp(30px, 7.8vw, 44px); line-height: 1.16; }
 .site-polished.home-light .intro-content p { font-size: 14px; line-height: 1.8; }
 .site-polished.home-light span.overlay { background: linear-gradient(180deg, rgba(5,58,77,.36), rgba(5,58,77,.12) 45%, transparent 78%), linear-gradient(rgba(229,244,249,.78), rgba(229,244,249,.78)); }
 .site-polished.home-light a.button.hero-button.btn-lg { width: 100%; padding: 14px 16px !important; font-size: 11px; }
 .site-polished .logo-burst-stage { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
 .site-polished .logo-burst-node { height: 72px !important; padding: 10px 14px !important; }
 .site-polished .container---main.logomarquee { margin: 24px auto 36px; }
 .site-polished #feature_list .feature-grid, .site-polished .video-metric-section .section-inner { grid-template-columns: 1fr; gap: 16px; }
 .site-polished #feature_list .feature-card { padding: 24px; }
 .site-polished .video-metric-section .metric-box, .site-polished .video-metric-section .metric-content { min-height: 160px; }
 .site-polished .prezzo-spotlight { padding: 28px 24px; }
 .site-polished .footer .section-inner.white.footer-section { flex-direction: column; padding: 36px 0; gap: 32px; }
 .site-polished .footer .container---xs { width: 100%; max-width: none; }
 .site-polished .footer-menus { grid-template-columns: 1fr; gap: 24px; }
 .site-polished .footer-social-media-grid { grid-template-columns: repeat(5,38px); }
 .site-polished .section-inner.legal, .site-polished .section-inner.legal-article { grid-template-columns: 1fr; gap: 24px; padding: 24px 0; }
}
@media (prefers-reduced-motion: reduce) {
 html { scroll-behavior: auto; }
 .site-polished *, .site-polished *::before, .site-polished *::after { animation: none !important; transition: none !important; }
}
.site-polished.home-light .intro-testimonial .h2.hero { font-size: clamp(26px, 3.1vw, 44px); max-width: 900px; }
.site-polished.home-light .intro-testimonial .h2.hero > span { display: block; margin-top: 20px; font-size: 16px !important; letter-spacing: 0; }
.site-polished.home-light .intro-testimonial .rows img { max-width: 200px; max-height: 72px; object-fit: contain; }
.site-polished.document-page { max-width: 850px; padding: 56px 24px; margin: 0 auto; font-size: 16px; }
.site-polished.document-page h1 { font-size: clamp(36px, 6vw, 54px); margin: 0 0 24px; line-height: 1.15; }
.site-polished.document-page h2 { font-size: 25px; margin: 36px 0 14px; line-height: 1.3; }
.site-polished.document-page h3 { font-size: 20px; margin: 28px 0 12px; line-height: 1.4; }
.site-polished.document-page p, .site-polished.document-page li { line-height: 1.85; }
.site-polished.document-page a { color: var(--accent); overflow-wrap: anywhere; }
.site-polished .policy-table { max-width: 100%; overflow-x: auto; margin: 24px 0; border: 1px solid var(--hairline); border-radius: 12px; }
.site-polished .policy-table table { width: 100%; min-width: 650px; margin: 0; border-collapse: collapse; font-size: 14px; }
.site-polished .policy-table th, .site-polished .policy-table td { text-align: left; padding: 16px; border-bottom: 1px solid var(--hairline); }
.site-polished .policy-table th { background: #edf6f7; }
.site-polished .policy-table code { white-space: normal; overflow-wrap: anywhere; }
.site-polished .policy-table tr:last-child td { border-bottom: 0; }
.site-polished .logo-burst-stage > .logo-burst-node:nth-child(n+53) { display: flex; }
@media (max-width: 767px) {
 .site-polished.home-light .justify-between.intro-content { padding-bottom: 40px !important; }
}
.site-polished.home-light .section-inner.event-partners > .insights-highlight { order: 0; }
.site-polished .logo-burst-node img { transform: scale(1.25); }
.site-polished .footer-social-media-icon { width: 16px; height: 16px; max-width: 16px; object-fit: contain; }
.site-polished .footer .text-span-3 { color: inherit; }
.site-polished .footer .muted { opacity: .8; }
/* Original white brand artwork, without a separate logo tile. */
.site-polished .footer-logo-wrapper > a { padding: 0; background: transparent; }
/* Matched testimonial panels; the video frame is centered on its container. */
.site-polished .quote .div-block-11 { margin: 0; padding: 36px; border: 1px solid #cce4ed; border-radius: 24px; background: #fff; display: flex; flex-direction: column; justify-content: center; min-height: 320px; }
.site-polished .quote .section-inner > .rows { align-self: stretch; }
.site-polished .quote .rows > div, .site-polished .quote .speaker-columns, .site-polished .quote .logo-wrapper { width: 100%; height: 100%; }
.site-polished .quote .metric-box.customer-feature._2 { width: 100%; height: 100%; min-height: 320px; padding: 36px; border: 1px solid #cce4ed; border-radius: 24px; align-items: center; justify-content: center; background: var(--accent); }
.site-polished .video-metric-section .metric-box::before, .site-polished .quote .metric-box.customer-feature._2::before { content: ''; position: absolute; inset: 24px; border: 1px solid rgba(255,255,255,.55); border-radius: 16px; z-index: 2; pointer-events: none; }
.site-polished .quote .metric-box.customer-feature._2::after { background: linear-gradient(135deg, rgba(32,168,216,.84), rgba(32,168,216,.6)); }
.site-polished .video-metric-section .metric-box video, .site-polished .quote .metric-box.customer-feature._2 video { filter: brightness(.78); }
.site-polished.home-light .quote .event-partners .image-13 { width: min(300px, 80%); max-height: 180px; height: auto; margin: auto; border: 0; border-radius: 0; box-shadow: none; object-fit: contain; z-index: 3 !important; }
@media (max-width: 991px) and (min-width: 601px) {
 .site-polished .logo-burst-stage { grid-template-columns: repeat(4,minmax(0,1fr)); }
}
@media (max-width: 991px) {
 .site-polished.home-light .quote .section-inner.event-partners { grid-template-columns: 1fr; grid-template-rows: none; grid-auto-rows: 1fr; gap: 20px; }
 .site-polished .quote .div-block-11, .site-polished .quote .metric-box.customer-feature._2 { min-height: 360px; }
}
@media (max-width: 600px) {
 .site-polished .quote .div-block-11 { padding: 28px; }
 .site-polished .quote h3 { font-size: 16px; }
 .site-polished .quote h4 { font-size: 12px; }
 .site-polished .logo-burst-node, .site-polished .logo-burst-node.is-wide, .site-polished .logo-burst-node.is-compact, .site-polished .logo-burst-node.is-micro, .site-polished .logo-burst-node.is-nano { padding: 8px !important; }
}
@media (max-width: 360px) {
 .site-polished .logo-burst-stage { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

/* Original Webflow header styling remains in the existing stylesheet. */
.site-polished .original-header { color: #000; font-size: 18px; line-height: 1.4em; }
.site-polished .original-header .container---main { max-width: 1500px; }
/* Header and hero share the same continuous video overlay. */
@media (max-width: 600px) {
 .site-polished.home-light .image-wrapper.video-wrapper { top: -104px; height: calc(100% + 104px); }
 .site-polished.home-light span.overlay { top: -104px; height: calc(100% + 104px); }
}
@media (max-width: 479px) {
 .site-polished .original-header { font-size: 16px; }
}
.site-polished .logo-burst-grid { position: relative; z-index: 1; }
.site-polished .logo-gallery-wrapper { padding-bottom: 0; }


/* One shared gap between every homepage section. */
.site-polished.home-page { --section-gap: 64px; }
.site-polished.home-page .page-wrapper > .content-wrapper { gap: var(--section-gap); padding-top: 0; padding-bottom: var(--section-gap); }
.site-polished.home-page .page-wrapper > .content-wrapper > .container---main { margin-top: 0; margin-bottom: 0; }
.site-polished.home-page .section-inner.event-partners { padding-top: 0; padding-bottom: 0; }
.site-polished.home-page .page-wrapper > .footer { margin-top: 0; }
@media (max-width: 600px) {
 .site-polished.home-page { --section-gap: 32px; }
}

/* Contact uses the homepage's light cards, video and blue-green accents. */
.site-polished.contact-page { background: radial-gradient(ellipse at 0% 25%, #20a8d810, transparent 48%), radial-gradient(ellipse at 100% 65%, #53a59312, transparent 45%), var(--paper); }
.contact-page .page-wrapper { display: flex; flex-direction: column; min-height: calc(100vh - 112px); }
.site-polished.contact-page .original-header .container---main { max-width: 1240px; }
.contact-page .navbar-row { border: 0; padding-left: 0; padding-right: 0; }
.contact-page .navbar-wrapper { padding-left: clamp(20px, 4vw, 64px); padding-right: clamp(20px, 4vw, 64px); }
.contact-page .contact-main { padding: 32px clamp(20px, 4vw, 64px) 64px; flex: 1; }
.contact-page .contact-layout { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); background: #fff; border: 1px solid var(--hairline); border-radius: 28px; overflow: hidden; box-shadow: 0 20px 60px #15343e08; }
.contact-page .contact-visual { position: relative; isolation: isolate; overflow: hidden; min-height: 560px; background: var(--accent); padding: 48px; display: flex; }
.contact-page .contact-visual video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: brightness(.78) saturate(.95); z-index: -2; }
.contact-page .contact-visual::before { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(5,58,77,.36), rgba(5,58,77,.12) 45%, transparent 78%), linear-gradient(90deg, rgba(232,246,251,.84), rgba(224,241,247,.63) 48%, rgba(17,59,73,.14)); z-index: -1; }
.contact-page .contact-visual::after { content: ''; position: absolute; inset: 24px; border: 1px solid #ffffff70; border-radius: 16px; pointer-events: none; }
.contact-page .contact-visual-content { display: flex; flex-direction: column; justify-content: space-between; align-items: flex-start; width: 100%; gap: 48px; }
.contact-page .contact-visual-logo { width: 240px; height: auto; }
.contact-page .contact-visual h1 { font-size: clamp(48px, 5vw, 72px); line-height: 1.05; font-weight: 500; color: #fff; margin: auto 0 0; }
.contact-page .contact-brand-mark { width: 64px; height: 5px; background: #fff; border-radius: 99px; }
.site-polished.contact-page .form-block { border: 0; border-radius: 0; box-shadow: none; background: #fff; padding: clamp(32px, 4vw, 56px); align-items: center; display: flex; }
.site-polished.contact-page #contact-form { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 28px 20px; }
.contact-page #contact-form > * { min-width: 0; }
.contact-page #contact-form > :not(.contact-name-field):not(.validated-control) { grid-column: 1 / -1; }
.contact-page #contact-form label { display: block; font-size: 13px; font-weight: 600; color: var(--ink); letter-spacing: .01em; margin: 0 0 10px; }
.site-polished.contact-page #contact-form .form-input { font-family: inherit; font-weight: 400; height: 56px; padding: 15px 16px; background: #f7fafb; border: 1px solid #dce8eb; border-radius: 12px; transition: border-color 200ms ease, box-shadow 200ms ease, background 200ms ease; }
.site-polished.contact-page #contact-form .form-input:focus { background: #fff; border-color: var(--accent); box-shadow: 0 0 0 3px #20a8d818; outline: none; }
.site-polished.contact-page #contact-form textarea { height: 200px; min-height: 160px; resize: vertical; }
.contact-page #contact-form .validated-control { display: block; }
.contact-page #contact-form input[type=submit] { width: 100%; min-height: 54px; cursor: pointer; border-radius: 12px; font-size: 14px; letter-spacing: .02em; }
.contact-page #contact-form .is-invalid { border-color: #cc5555; }
.contact-page #contact-form [role=status], .contact-page #contact-form [role=alert] { padding: 16px 20px; border-radius: 12px; font-size: 14px; }
.contact-page #contact-form [role=status] { color: #286c5e; background: #53a59315; }
.contact-page #contact-form [role=alert] { color: #9f3838; background: #fff1f1; }
.site-polished.contact-page .footer { margin-top: 0; }
@media (max-width: 991px) {
 .contact-page .contact-layout { grid-template-columns: 1fr; }
 .contact-page .contact-visual { min-height: 280px; padding: 40px; }
 .contact-page .contact-visual-content { gap: 32px; }
 .contact-page .contact-brand-mark { display: none; }
}
@media (max-width: 600px) {
 .contact-page .page-wrapper { min-height: calc(100vh - 104px); }
 .contact-page .contact-main { padding-top: 16px; padding-bottom: 32px; }
 .contact-page .contact-layout { border-radius: 24px; }
 .contact-page .contact-visual { min-height: 240px; padding: 32px; }
 .contact-page .contact-visual::after { inset: 16px; }
 .contact-page .contact-visual-logo { width: 190px; }
 .site-polished.contact-page .form-block { padding: 28px 24px; }
 .site-polished.contact-page #contact-form { grid-template-columns: 1fr; gap: 22px; }
 .contact-page #contact-form > * { grid-column: 1; }
 .site-polished.contact-page #contact-form textarea { height: 180px; }
}

.contact-page .contact-visual h1 { color: var(--ink); }
.contact-page .contact-brand-mark { background: var(--accent); }
@media (max-width: 600px) {
 .contact-page .contact-visual::before { background: linear-gradient(180deg, rgba(5,58,77,.36), rgba(5,58,77,.12) 45%, transparent 78%), linear-gradient(rgba(229,244,249,.78), rgba(229,244,249,.78)); }
}
