/*
Theme Name: Sequana
Description: Sequana's navy-and-teal block theme, built as a SaasLauncher child.
Template: saaslauncher
Version: 1.0.2
Requires at least: 6.6
Requires PHP: 8.1
Author: Dextrosoft BV
License: GPL-2.0-or-later
Text Domain: sequana
*/

:root {
  --seq-navy: #03111f;
  --seq-panel: #0a1f35;
  --seq-blue: #1a6fa8;
  --seq-teal: #00c2a8;
  --seq-white: #e8f4fd;
  --seq-muted: #b9ccdb;
  --seq-wash: #f0f6fb;
  --seq-ink: #173b52;
  --seq-line: #284052;
  --seq-gutter: clamp(1.25rem, 5vw, 5rem);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; -webkit-font-smoothing: antialiased; }
body, .editor-styles-wrapper { font-family: "Helvetica Neue", Arial, sans-serif; }
body .wp-site-blocks { padding: 0; }
.wp-site-blocks > *, .sequana-main, .sequana-main > *, .sequana-main .wp-block-post-content > * { margin-block-start: 0; }
.sequana-container { width: min(100% - var(--seq-gutter) * 2, 1240px); margin-inline: auto; }
.sequana-section { padding-block: clamp(4rem, 8vw, 7.5rem); }
.sequana-section p { max-width: 70ch; margin-block: 1.2rem 0; text-wrap: pretty; }
.sequana-section h1, .sequana-section h2, .sequana-section h3 { color: inherit; font-family: inherit; font-weight: 400; text-wrap: balance; margin: 0; }
.sequana-section h1 { font-size: clamp(2.75rem, 5.4vw, 5.7rem); font-weight: 300; line-height: 1.06; letter-spacing: -.035em; max-width: 18ch; }
.sequana-section h2 { font-size: clamp(2rem, 3.5vw, 3.4rem); line-height: 1.15; letter-spacing: -.025em; }
.sequana-section h3 { font-size: clamp(1.35rem, 2vw, 1.65rem); line-height: 1.3; letter-spacing: -.015em; }
.sequana-section h1 em { font-style: normal; color: var(--seq-teal); }
.sequana-section .sequana-lead { font-size: clamp(1.15rem, 1.7vw, 1.4rem); line-height: 1.6; color: var(--seq-muted); max-width: 48ch; margin-top: 1.8rem; }
.sequana-section .sequana-note { font-size: .95rem; }
.sequana-readable { max-width: 790px; }
.sequana-readable > h2:not(:first-child) { margin-top: 3rem; font-size: 2rem; }
.sequana-two-up { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2.5rem, 6vw, 6rem); align-items: center; }
.sequana-three-up { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(2rem, 4vw, 4rem); margin-top: 3.5rem; }

/* Identity and navigation */
.sequana-header { border-bottom: 1px solid var(--seq-line); }
.sequana-header-inner { display: flex; justify-content: space-between; align-items: center; min-height: 116px; gap: 2rem; }
.sequana-brand { display: inline-flex; align-items: center; gap: 12px; width: 226px; flex-shrink: 0; color: var(--seq-white); text-decoration: none; }
.sequana-brand svg { width: 60px; height: 56px; flex-shrink: 0; }
.sequana-wordmark { display: block; font-size: 26px; font-weight: 300; letter-spacing: 4.2px; line-height: 1.15; }
.sequana-tagline { display: block; margin-top: 7px; font-size: 8px; line-height: 1.6; letter-spacing: 2.1px; color: #8cb1ca; }
.sequana-navigation { font-size: .94rem; font-weight: 400; }
.sequana-navigation .wp-block-navigation__container { gap: clamp(1.5rem, 2.6vw, 2.5rem); }
.sequana-navigation a { text-decoration: none; }
.sequana-navigation a:hover { color: var(--seq-teal); }
.sequana-navigation .sequana-nav-cta a { padding: .7rem 1.2rem; border: 1px solid #577487; border-radius: 3px; }
.sequana-navigation .wp-block-navigation__responsive-container.is-menu-open { background: var(--seq-navy); color: var(--seq-white); padding: 2rem; }
.sequana-navigation .wp-block-navigation__responsive-container-open,
.sequana-navigation .wp-block-navigation__responsive-container-close { min-height: 44px; min-width: 44px; justify-content: center; align-items: center; }
a:focus-visible, button:focus-visible, input:focus-visible { outline: 3px solid var(--seq-teal); outline-offset: 5px; }
.sequana-main .wp-block-buttons { margin-top: 2rem; display: flex; flex-wrap: wrap; gap: 1rem; }
.sequana-main .wp-block-button__link { padding: 1rem 1.5rem; border: 1px solid var(--seq-teal); border-radius: 3px; text-decoration: none; transition: background-color .18s ease-out, color .18s ease-out; }
.sequana-main .wp-block-button.is-style-outline .wp-block-button__link { border-color: #678395; color: inherit; background: transparent; }
.sequana-main .wp-block-button.is-style-outline .wp-block-button__link:hover { background: #ffffff12; }

/* The hero's flowing signal is drawn from Sequana's existing visual identity. */
.sequana-hero { position: relative; overflow: clip; padding-block: clamp(4rem, 7.8vw, 7.5rem); }
.sequana-hero-home { min-height: 650px; padding-bottom: 6.5rem; }
.sequana-hero-home > .sequana-container { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr); gap: clamp(2rem, 4vw, 4rem); align-items: start; }
.sequana-hero-copy { position: relative; z-index: 1; max-width: 760px; }
.sequana-hero-home .sequana-hero-copy { max-width: 690px; }
.sequana-hero .sequana-eyebrow { color: var(--seq-teal); margin: 0 0 1.9rem; font-size: .95rem; letter-spacing: .04em; }
.sequana-hero-home .sequana-eyebrow { font-size: clamp(1.3rem, 1.8vw, 1.6rem); font-weight: 500; line-height: 1.4; letter-spacing: .015em; }
.sequana-hero-home .sequana-lead { max-width: 43ch; }
.sequana-hero-offer { position: relative; z-index: 1; margin-top: 2.8rem; padding-top: 1.7rem; border-top: 1px solid var(--seq-teal); }
.sequana-hero-offer h2 { font-size: 1.6rem; line-height: 1.4; letter-spacing: -.02em; }
.sequana-hero-offer .sequana-offer-products { color: var(--seq-teal); font-weight: 600; }
.sequana-hero-offer .sequana-price-amount { display: inline-block; color: var(--seq-teal); font-size: clamp(2.8rem, 4.2vw, 4.25rem); font-weight: 300; margin-top: .2rem; }
.sequana-price-period { font-size: 1.15rem; letter-spacing: 0; margin-left: .3rem; }
.sequana-hero-offer .sequana-price-promise { margin-top: .8rem; font-size: clamp(1.05rem, 1.4vw, 1.25rem); color: var(--seq-white); }
.sequana-hero-offer .sequana-price-scope { margin-top: 1rem; font-size: .85rem; line-height: 1.7; color: var(--seq-muted); max-width: 37ch; }
.sequana-signal { position: absolute; inset: auto -5rem 0 48%; height: 350px; pointer-events: none; }
.sequana-signal svg { position: absolute; width: 100%; height: 100%; object-fit: contain; }
.sequana-signal-label { position: absolute; right: 17%; bottom: 7%; color: #a0bdcf; font-size: .8rem; letter-spacing: .02em; }
.sequana-signal svg g { animation: sequana-arrive 1.4s cubic-bezier(.16,1,.3,1) both; }
@keyframes sequana-arrive { from { opacity: .1; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }
.sequana-capability-strip { padding-block: 1.65rem; border-top: 1px solid var(--seq-line); border-bottom: 1px solid var(--seq-line); }
.sequana-capability-strip .sequana-container { display: flex; align-items: center; justify-content: space-between; gap: 1rem 2rem; flex-wrap: wrap; }
.sequana-capability-strip p { margin: 0; font-size: .93rem; }
.sequana-strip-capabilities { color: #8db5cf; }

/* Tonal navy sections keep the identity present without broad white panels. */
.sequana-benefits { background: linear-gradient(115deg, #103b50, #0a2638 58%, #081e30); color: var(--seq-white); }
.sequana-benefits > .sequana-container { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.6fr); gap: clamp(2.5rem, 6vw, 6rem); align-items: start; }
.sequana-benefits-heading h2 { font-size: clamp(2.4rem, 3.4vw, 3.4rem); }
.sequana-section .sequana-benefits-intro { color: var(--seq-muted); max-width: 27ch; margin-top: 1.8rem; }
.sequana-benefit-rows { display: flex; flex-direction: column; gap: 2.4rem; }
.sequana-benefit-rows .sequana-feature { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr); gap: 1.5rem; padding-top: 1.8rem; border-top-color: #416576; }
.sequana-benefit-rows .sequana-feature h3 { color: #65dfcd; font-size: 1.45rem; }
.sequana-benefit-rows .sequana-feature p { margin-top: 0; color: #c5d9e5; }
.sequana-deployment { background: #102e43; color: var(--seq-white); }
.sequana-deployment p { color: #c5d9e5; }
.sequana-deployment .sequana-two-up { gap: 1.5rem; }
.sequana-deployment .sequana-deployment-option { background: #0a2033; padding: clamp(1.75rem, 3vw, 3rem); border: 1px solid #335267; border-radius: 6px; }
.sequana-feature { padding-top: 1.5rem; border-top: 1px solid currentColor; }
.sequana-feature p { font-size: 1.05rem; color: var(--seq-muted); }
.sequana-platform-section { background: var(--seq-panel); }
.sequana-platform-copy p { color: var(--seq-muted); }
.sequana-diagram { text-align: center; font-size: .9rem; padding: 1.5rem 0; }
.sequana-diagram p { margin: 0; }
.sequana-diagram-network { color: #c1d7e5; }
.sequana-platform-core { position: relative; border: 1px solid #447188; padding: 1.5rem; margin-top: 2.5rem; border-radius: 6px; }
.sequana-platform-core::before { content: ""; width: 1px; height: 2.5rem; background: var(--seq-teal); position: absolute; top: -2.5rem; left: 50%; }
.sequana-section .sequana-diagram-label { font-size: .7rem; letter-spacing: .16em; color: var(--seq-teal); margin-bottom: 1.5rem; }
.sequana-function-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: #284b60; }
.sequana-function { background: var(--seq-panel); padding: .25rem .5rem; }
.sequana-function h3 { font-size: 1.8rem; font-weight: 300; color: var(--seq-white); }
.sequana-function p { font-size: .75rem; color: var(--seq-muted); margin-top: .3rem; }
.sequana-section .sequana-shared-layer { margin-top: 1.5rem; border-top: 1px solid #284b60; padding-top: 1rem; font-size: .9rem; }
.sequana-section .sequana-diagram-api { color: var(--seq-teal); padding-block: 1.3rem; }
.sequana-section-intro { max-width: 720px; margin-bottom: 3.5rem; }
.sequana-deployment-option { border-top: 1px solid #7796aa; padding-top: 2rem; align-self: stretch; }
.sequana-deployment-option .sequana-option-label { font-size: .9rem; margin: 0 0 1.5rem; color: #65dfcd; }
.sequana-deployment-option h3 { font-size: clamp(1.75rem, 2.5vw, 2.5rem); }
.sequana-expertise { background: #0b293b; }
.sequana-expertise p { color: #c3d7e5; }
.sequana-cta { background: var(--seq-teal); color: var(--seq-navy); }
.sequana-cta .sequana-container { display: flex; justify-content: space-between; align-items: center; gap: 2rem; }
.sequana-cta-copy { max-width: 770px; }
.sequana-cta-copy h2 { font-size: clamp(2rem, 3vw, 3rem); }
.sequana-cta .wp-block-buttons { flex-shrink: 0; margin-top: 0; }
.sequana-cta .wp-block-button__link { background: var(--seq-navy); color: var(--seq-white); border-color: var(--seq-navy); }
.sequana-cta .wp-block-button__link:hover { background: var(--seq-panel); }
.sequana-cta a:focus-visible { outline-color: var(--seq-navy); }

/* Interior pages */
.sequana-capabilities-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem 5rem; margin-top: 3.5rem; }
.sequana-operations { background: #10344b; color: var(--seq-white); }
.sequana-operations p, .sequana-operations .sequana-feature p { color: #c5d9e5; }
.sequana-operations .sequana-feature { border-top-color: #507488; }
.sequana-services-list { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem 5rem; }
.sequana-company-panel { padding: clamp(2rem, 4vw, 3.5rem); background: var(--seq-panel); border-radius: 6px; }
.sequana-company-panel .sequana-company-name { font-size: 2rem; color: var(--seq-teal); margin: 0; }
.sequana-company-panel .sequana-company-focus { padding-top: 2rem; line-height: 2; border-top: 1px solid var(--seq-line); margin-top: 2rem; }
.sequana-about-copy p { color: var(--seq-muted); }
.sequana-contact-main { align-self: start; padding: 2rem; border: 1px solid #447188; border-radius: 6px; }
.sequana-contact-main p:first-child { margin-top: 0; }
.sequana-contact-address a { display: inline-block; color: var(--seq-teal); font-size: clamp(1.3rem, 2.3vw, 2rem); overflow-wrap: anywhere; text-underline-offset: .3rem; }
.sequana-contact-address p:last-child { color: var(--seq-muted); font-size: 1rem; }
.sequana-contact-guidance p { line-height: 2; color: var(--seq-muted); }
.sequana-contact-guidance .sequana-note { line-height: 1.65; }
.sequana-contact-footer { padding-top: 0; }
.sequana-footer { padding-block: 4rem 1.5rem; color: var(--seq-muted); font-size: .9rem; }
.sequana-footer-top, .sequana-footer-bottom { display: flex; justify-content: space-between; gap: 2rem; align-items: center; }
.sequana-footer-top p { text-align: right; margin: 0; }
.sequana-footer-bottom { border-top: 1px solid var(--seq-line); margin-top: 3rem; padding-top: 1.5rem; }
.sequana-footer-bottom p { margin: 0; }
.sequana-footer a { text-underline-offset: .25rem; }

@media (max-width: 1000px) {
  .sequana-navigation { font-size: .85rem; }
  .sequana-header-inner { gap: 1rem; }
  .sequana-navigation .wp-block-navigation__container { gap: 1.2rem; }
  .sequana-hero-home { min-height: 580px; }
  .sequana-hero-home .sequana-hero-copy { max-width: 620px; }
  .sequana-hero-home > .sequana-container { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); }
  .sequana-hero-home h1 { font-size: clamp(2.75rem, 5.1vw, 4rem); }
  .sequana-benefit-rows .sequana-feature { grid-template-columns: 1fr; gap: .8rem; }
  .sequana-signal { opacity: .5; left: 50%; right: -30%; }
  .sequana-signal-label { display: none; }
  .sequana-two-up { gap: 2.5rem; }
  .sequana-cta .sequana-container { align-items: start; flex-direction: column; }
}
@media (max-width: 800px) {
  .sequana-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none; }
  .sequana-navigation .wp-block-navigation__responsive-container-open { display: flex; }
  .sequana-navigation .wp-block-navigation__responsive-container.is-menu-open { display: flex; }
  .sequana-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { align-items: flex-start; gap: 1.6rem; font-size: 1.4rem; }
  .sequana-header-inner { min-height: 96px; }
  .sequana-three-up, .sequana-two-up, .sequana-services-list, .sequana-capabilities-grid { grid-template-columns: 1fr; }
  .sequana-hero-home > .sequana-container, .sequana-benefits > .sequana-container { grid-template-columns: 1fr; }
  .sequana-hero-offer { max-width: 450px; width: 100%; margin-top: .5rem; }
  .sequana-hero-offer .sequana-price-amount { font-size: 3.4rem; }
  .sequana-benefit-rows { gap: 2rem; }
  .sequana-three-up { gap: 2rem; }
  .sequana-hero-home { min-height: 0; padding-bottom: 9rem; }
  .sequana-signal { top: auto; height: 210px; left: 20%; right: -25%; bottom: -20px; opacity: .65; }
  .sequana-hero-copy { max-width: 100%; }
  .sequana-diagram { max-width: 550px; width: 100%; margin-inline: auto; }
  .sequana-feature p { max-width: 60ch; }
  .sequana-footer-top { align-items: start; flex-direction: column; }
  .sequana-footer-top p { text-align: left; }
}
@media (max-width: 420px) {
  .sequana-brand { width: 205px; gap: 8px; }
  .sequana-brand svg { width: 50px; }
  .sequana-wordmark { font-size: 24px; letter-spacing: 3.6px; }
  .sequana-section h1 { font-size: 2.65rem; }
  .sequana-hero-home .wp-block-buttons { align-items: stretch; flex-direction: column; }
  .sequana-hero-home .wp-block-button__link { width: 100%; }
  .sequana-footer-bottom { align-items: start; flex-direction: column; gap: 1rem; }
  .sequana-platform-core { padding: 1rem .65rem; }
  .sequana-function p { font-size: .7rem; }
  .sequana-shared-layer { font-size: .75rem; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .sequana-signal svg g { animation: none; }
  .sequana-main .wp-block-button__link { transition: none; }
}
