:root {
  color-scheme: light;
  --content-width: 1280px;
  --ink: #19162b;
  --muted: #655f74;
  --magenta: #d90b58;
  --gold: #f5b321;
  --surface: rgba(255, 255, 255, 0.94);
}
.portal-actions { display:flex; align-items:center; gap:.7rem; }.profile-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }.profile-form fieldset { min-width:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-content:start; gap:1rem; padding:1.5rem; border:1px solid #dce4e7; border-radius:1rem; background:#fff; }.profile-form fieldset select{height:3.25rem;min-height:3.25rem}.profile-form legend { padding:0 .5rem; color:#0d3150; font-size:1.2rem; font-weight:850; }.profile-form>button { grid-column:1/-1; }.profile-incomplete{border-color:#ffcc62!important;box-shadow:0 0 0 3px rgba(255,196,68,.16)}.portal-new-project{margin:0 0 2rem;padding:1rem 1.25rem;border:1px solid #d8e3e7;border-radius:1rem;background:#fff}.portal-new-project summary{cursor:pointer;color:#0d3150;font-weight:850}.portal-new-project form{margin-top:1.25rem;max-width:42rem}
@media(max-width:700px){.profile-form,.profile-form fieldset{grid-template-columns:1fr}.profile-form>button{grid-column:auto}.portal-actions{align-items:flex-start;flex-direction:column}}

* { box-sizing: border-box; }

html { min-height: 100%; background: #f7f3ec; }

body {
  min-height: 100vh;
  margin: 0;
  color: var(--ink);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background:
    radial-gradient(circle at 10% 10%, rgba(245, 179, 33, 0.2), transparent 32rem),
    radial-gradient(circle at 90% 90%, rgba(217, 11, 88, 0.14), transparent 32rem),
    #f8f5ef;
}

a { color: inherit; }

.maintenance-shell,
.dev-shell {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: clamp(1rem, 4vw, 4rem);
}

.maintenance-card,
.dev-shell {
  text-align: center;
}

.maintenance-card {
  width: min(100%, 51rem);
  padding: clamp(2rem, 7vw, 5rem);
  background: var(--surface);
  border: 1px solid rgba(25, 22, 43, 0.08);
  border-radius: 2rem;
  box-shadow: 0 2rem 5rem rgba(45, 32, 26, 0.14);
}

.brand-wordmark {
  display: inline-flex;
  flex-wrap: wrap;
  justify-content: center;
  color: #0d3150;
  font-size: clamp(2rem, 5vw, 3.1rem);
  font-weight: 900;
  letter-spacing: -0.06em;
  line-height: 0.8;
}

.brand-wordmark > span { color: var(--magenta); }

.brand-wordmark > small {
  flex-basis: 100%;
  margin-top: 0.55rem;
  color: #0d3150;
  font-size: 0.7rem;
  font-weight: 750;
  letter-spacing: 0.02em;
  line-height: 1.25;
}

.maintenance-card > .brand-wordmark { margin-bottom: 2rem; }
.site-logo{display:inline-flex;align-items:center;text-decoration:none}.site-logo img{display:block;width:auto;height:auto;object-fit:contain}.site-logo-header img{width:clamp(10rem,15vw,13rem);max-height:4rem}.site-logo-footer img{width:clamp(9rem,13vw,11rem)}.site-logo-maintenance{margin-bottom:2rem}.site-logo-maintenance img{width:clamp(12rem,35vw,18rem)}

.eyebrow {
  margin: 0 0 1.25rem;
  color: var(--magenta);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

h1 {
  max-width: 13ch;
  margin: 0 auto;
  font-size: clamp(2.25rem, 7vw, 4.75rem);
  line-height: 1.02;
  letter-spacing: -0.05em;
}

.lead {
  max-width: 39rem;
  margin: 1.6rem auto 0;
  color: var(--muted);
  font-size: clamp(1rem, 2.3vw, 1.2rem);
  line-height: 1.7;
}

.contact-panel {
  margin-top: 2.5rem;
  padding-top: 2rem;
  border-top: 1px solid rgba(25, 22, 43, 0.1);
}

.contact-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
  margin-top: 1rem;
}

.button {
  display: inline-flex;
  min-height: 3rem;
  align-items: center;
  justify-content: center;
  padding: 0.75rem 1.25rem;
  color: #fff;
  font-weight: 750;
  text-decoration: none;
  background: var(--magenta);
  border: 2px solid var(--magenta);
  border-radius: 999px;
}

.button-secondary {
  color: var(--ink);
  background: transparent;
  border-color: rgba(25, 22, 43, 0.2);
}

.button:focus-visible {
  outline: 3px solid var(--gold);
  outline-offset: 3px;
}

.signature {
  margin: 2rem 0 0;
  color: var(--muted);
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

@media (max-width: 34rem) {
  .maintenance-card { padding-inline: 1.35rem; border-radius: 1.25rem; }
  .contact-actions { flex-direction: column; }
  .button { width: 100%; }
}

/* Site public — première direction graphique inspirée de la démo fournie. */
.site-page { background: #fff; }
.container { width: min(calc(100% - 2.5rem), var(--content-width)); margin-inline: auto; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.site-header { position: relative; z-index: 10; background: #fff; box-shadow: 0 1px 0 rgba(13, 49, 80, 0.1); }
.header-top { min-height: 5.25rem; display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.brand-link { justify-content: flex-start; font-size: 2.25rem; text-decoration: none; }
.header-actions { display: flex; align-items: center; gap: 1rem; color: #243b50; font-size: 0.78rem; }
.header-actions p { margin: 0; }
.header-actions p a { font-weight: 800; text-decoration: none; }
.button-small { min-height: 2.45rem; padding: 0.55rem 1rem; font-size: 0.78rem; background: #0d3150; border-color: #0d3150; }
.account-link { font-weight: 750; text-decoration: none; }
.main-nav { border-top: 1px solid rgba(13, 49, 80, 0.08); }
.nav-inner { min-height: 3rem; display: flex; align-items: center; justify-content: center; gap: clamp(0.8rem, 2.4vw, 2rem); }
.nav-inner a { color: #18344d; font-size: 0.76rem; font-weight: 750; text-decoration: none; }

.hero {
  position: relative;
  overflow: hidden;
  background: #edf2f4;
}
.hero::after { position:absolute; z-index:1; inset:0; content:""; pointer-events:none; background:linear-gradient(90deg,rgba(237,242,244,.99) 0%,rgba(237,242,244,.96) 33%,rgba(237,242,244,.72) 47%,rgba(237,242,244,.08) 68%); }
.hero-media-frame { position:absolute; z-index:0; inset:0; display:block; overflow:hidden; }
.hero-media { display:block; width:100%; height:100%; max-width:none; object-fit:cover; object-position:center; }
.hero-grid { position:relative; z-index:2; min-height: clamp(34rem, 46vw, 43rem); display: flex; align-items: center; }
.hero-copy { position: relative; z-index: 2; width: min(55%, 43rem); padding: 4rem 2rem 4rem 0; }
.kicker { margin: 0 0 0.7rem; color: #324c61; font-size: 0.74rem; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; }
.hero h1 { max-width: 12ch; margin: 0; color: #0d3150; font-size: clamp(2.7rem, 5.2vw, 5.05rem); line-height: 0.96; }
.hero-lead { max-width: 37rem; margin: 1.25rem 0 0; color: #3f5263; font-size: 1.1rem; line-height: 1.55; }
.hero-benefits { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin: 2rem 0; padding: 0; list-style: none; }
.hero-benefits li { display: flex; flex-direction: column; padding-left: 0.75rem; border-left: 3px solid var(--gold); }
.hero-benefits strong { color: #153a58; font-size: 0.8rem; }
.hero-benefits span { margin-top: 0.2rem; color: #5c6975; font-size: 0.68rem; line-height: 1.35; }
.reassurance { margin: 0.7rem 0 0; color: #5e6d78; font-size: 0.72rem; }
.sector-strip { padding: 2rem 0; background: #fff; border-bottom: 1px solid #e7ebee; }
.sector-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 1rem; }
.sector-grid article { display: flex; align-items: center; flex-direction: column; text-align: center; }
.sector-icon { display: grid; width: 2.4rem; height: 2.4rem; place-items: center; margin-bottom: 0.5rem; color: #0d3150; font-size: 1.35rem; border: 2px solid #0d3150; border-radius: 50%; }
.sector-grid strong { color: #163650; font-size: 0.72rem; }
.sector-grid small { margin-top: 0.25rem; color: #64717c; font-size: 0.62rem; line-height: 1.35; }

.craft-section { width: min(100%, var(--content-width)); display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); margin-inline: auto; background: #f0f2f2; }
.craft-visual { position: relative; min-height: 29rem; overflow: hidden; background: linear-gradient(145deg, #5b463c, #d6a97c); }
.craft-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.craft-visual.has-image::after { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(145deg,rgba(13,49,80,.18),rgba(63,35,22,.42)); pointer-events:none; }
.craft-visual.has-image .workbench { display:none; }
.handwritten { position: absolute; z-index: 2; top: 2rem; left: 2rem; color: #fff; font-family: "Segoe Print", "Bradley Hand", cursive; font-size: 1.35rem; line-height: 1.3; transform: rotate(-6deg); }
.workbench { position: absolute; inset: 32% 0 0; display: flex; align-items: flex-end; justify-content: center; gap: 0.6rem; padding: 2rem; background: linear-gradient(15deg, #6f412a, #c99362); }
.workbench i { display: block; width: 5rem; aspect-ratio: 1.5; border: 5px solid #eee; border-radius: 0.7rem; background: linear-gradient(145deg, #0f6b87, #efad39); box-shadow: 0 0.7rem 1rem rgba(0,0,0,.25); transform: rotate(var(--r, -4deg)); }
.workbench i:nth-child(2) { --r: 5deg; background: linear-gradient(145deg, #993d67, #f0c149); }
.workbench i:nth-child(3) { --r: -8deg; background: linear-gradient(145deg, #315b86, #5cb9a1); }
.workbench i:nth-child(4) { --r: 7deg; background: linear-gradient(145deg, #db7033, #173c61); }
.craft-copy { padding: clamp(3rem, 7vw, 6rem); }
.craft-copy h2, .section-heading h2, .quote-copy h2 { margin: 0; color: #0d3150; font-size: clamp(2rem, 4vw, 3.5rem); line-height: 1.02; letter-spacing: -0.04em; }
.craft-copy > p:not(.eyebrow), .quote-copy > p:not(.eyebrow) { max-width: 43rem; color: #536270; line-height: 1.65; }
.feature-list { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; margin: 2rem 0; padding: 0; list-style: none; }
.feature-list li { display: flex; flex-direction: column; padding-top: 0.7rem; border-top: 3px solid var(--magenta); }
.feature-list strong { color: #173851; font-size: 0.78rem; }
.feature-list span { margin-top: 0.2rem; color: #66737d; font-size: 0.67rem; }
.button-dark { background: #0d3150; border-color: #0d3150; }

.portfolio-section, .trust-section { padding: 3.5rem 0; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 1.5rem; }
.section-heading .eyebrow { margin-bottom: 0.5rem; }
.section-heading > a, .section-heading > span { color: #1263a0; font-size: 0.75rem; font-weight: 800; text-decoration: none; }
.portfolio-heading-actions,.portfolio-controls { display:flex; align-items:center; }.portfolio-heading-actions { flex-wrap:wrap; justify-content:flex-end; gap:.8rem 1rem; }.portfolio-heading-actions>a { color:#1263a0; font-size:.75rem; font-weight:800; text-decoration:none; }.portfolio-controls { gap:.2rem; padding:.28rem; border:1px solid #d8e2e6; border-radius:999px; background:#edf2f4; box-shadow:0 .35rem 1rem rgba(13,49,80,.08); }.portfolio-control { width:2.25rem; height:2.25rem; display:grid; place-items:center; padding:0; color:#173851; border:0; border-radius:999px; background:transparent; font:inherit; font-size:.85rem; font-weight:900; cursor:pointer; transition:.2s ease; }.portfolio-control:hover,.portfolio-control:focus-visible { color:#fff; background:#315b70; transform:translateY(-1px); }.portfolio-toggle { width:2.75rem; color:#fff; background:#0d3150; }.portfolio-toggle[aria-pressed="true"] { background:#d90b58; }
.portfolio-grid { display:flex; gap:1rem; overflow-x:auto; padding:.35rem .2rem 1.25rem; scroll-behavior:smooth; scrollbar-width:thin; scrollbar-color:#9dafb8 #edf2f4; }.portfolio-grid::-webkit-scrollbar{height:.5rem}.portfolio-grid::-webkit-scrollbar-track{border-radius:1rem;background:#edf2f4}.portfolio-grid::-webkit-scrollbar-thumb{border-radius:1rem;background:#9dafb8}.portfolio-grid article { flex:0 0 clamp(14rem,18vw,17rem); }.portfolio-grid:focus-visible { outline:2px solid #d90b58; outline-offset:.35rem; border-radius:.4rem; }
.portfolio-media { position:relative; display:block; overflow:hidden; aspect-ratio:1.2; border:2px solid #d5e0e4; border-radius:.8rem; box-shadow:0 .45rem 1rem rgba(26,45,58,.14); background:#edf2f4; }
.portfolio-placeholder { width:100%; height:100%; display: grid; place-items: end start; padding: 0.8rem; color: #fff; font-size: 0.8rem; font-weight: 850; background: linear-gradient(150deg, #1284a5, #284e77); }
.portfolio-placeholder.p2 { background: linear-gradient(150deg, #8a563b, #e5a64a); }
.portfolio-placeholder.p3 { background: linear-gradient(150deg, #9c734f, #553f39); }
.portfolio-placeholder.p4 { background: linear-gradient(150deg, #159bb4, #f1b33d); }
.portfolio-placeholder.p5 { background: linear-gradient(150deg, #55422d, #a82f55); }
.portfolio-placeholder.p6 { background: linear-gradient(150deg, #2e8049, #1b3f2f); }
.portfolio-grid h3 { margin: 0.6rem 0 0; color: #2b4357; font-size: 0.7rem; }
.portfolio-grid article > a { color:inherit; text-decoration:none; }.portfolio-media img { display:block; width:100%; height:100%; object-fit:cover; transform:scale(1.045); transition:transform .35s ease; }.portfolio-grid article>a:hover .portfolio-media img,.portfolio-grid article>a:focus-visible .portfolio-media img { transform:scale(1.075); }
.placeholder-disclaimer { margin: 1rem 0 0; color: #7b858c; font-size: 0.7rem; }
.trust-section { padding-top: 0; }
.logo-placeholders { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1rem; }
.logo-placeholders span { min-height: 4.5rem; display: grid; place-items: center; color: #9ba2a8; font-family: Georgia, serif; font-size: 1.1rem; border: 1px dashed #ccd2d6; border-radius: 0.5rem; }
.trust-heading{align-items:center}.trust-controls{display:flex;gap:.3rem}.trust-control{display:grid;place-items:center;width:2.3rem;height:2.3rem;padding:0;color:#173851;border:1px solid #d8e2e6;border-radius:50%;background:#fff;font:inherit;font-size:.85rem;font-weight:900;cursor:pointer;transition:.2s ease}.trust-control:hover,.trust-control:focus-visible{color:#fff;border-color:#315b70;background:#315b70;transform:translateY(-1px)}.trust-toggle{color:#fff;background:#0d3150}.trust-toggle[aria-pressed="true"]{border-color:#d90b58;background:#d90b58}.client-logo-grid{display:flex;align-items:stretch;gap:1.25rem;overflow-x:auto;padding:.2rem .1rem .8rem;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:#9dafb8 #edf2f4}.client-logo-grid::-webkit-scrollbar{height:.45rem}.client-logo-grid::-webkit-scrollbar-track{border-radius:1rem;background:#edf2f4}.client-logo-grid::-webkit-scrollbar-thumb{border-radius:1rem;background:#9dafb8}.client-logo{flex:0 0 calc((100% - 6.25rem)/6);min-width:0;min-height:6.5rem;display:grid;place-items:center;padding:1.25rem;border:1px solid #e1e7ea;border-radius:.8rem;background:#fff}.client-logo a{display:grid;place-items:center}.client-logo img{display:block;width:auto;max-width:100%;height:auto;max-height:4rem;object-fit:contain;filter:grayscale(1);opacity:.82;transition:.2s ease}.client-logo:hover img{filter:none;opacity:1}@media(max-width:900px){.client-logo{flex-basis:calc((100% - 3.75rem)/4)}}@media(max-width:620px){.client-logo{flex-basis:calc((100% - 1.25rem)/2)}.trust-heading{align-items:flex-end}}

.quote-cta { width:100%; display:grid; grid-template-columns:minmax(15rem,1fr) minmax(28rem,1.25fr) minmax(15rem,1fr); background:#eef1f2; }
.quote-image { position:relative; min-height:14rem; overflow:hidden; background:linear-gradient(135deg,#3e8994,#c4a66d); }
.quote-image::after { content:""; position:absolute; inset:0; background:linear-gradient(145deg,rgba(16,49,80,.12),rgba(16,49,80,.34)); pointer-events:none; }
.quote-image img { display:block; position:absolute; inset:0; width:100%; height:100%; max-width:none; object-fit:cover; }
.quote-image-right { background:linear-gradient(135deg,#c4a66d,#8b4f35); }
.quote-copy { display:flex; align-items:center; justify-content:center; flex-direction:column; padding:clamp(1.5rem,3vw,2.25rem); text-align:center; }
.quote-copy h2 { max-width:13ch; margin:.3rem auto .75rem; font-size:clamp(2rem,3vw,2.8rem); }
.quote-copy p:not(.eyebrow) { max-width:38rem; }

.site-footer { padding: 2rem 0; color: #fff; background: #0c2d48; }
.footer-inner { display:grid; grid-template-columns:minmax(15rem,1fr) auto minmax(15rem,1fr); align-items:center; gap:1rem 2rem; }
.brand-footer { justify-content: flex-start; color: #fff; font-size: 2rem; }
.brand-footer > small { color: #d5e1e9; }
.site-footer nav { grid-column:1/-1; display: flex; flex-wrap: wrap; justify-content:center; gap: 1rem; }
.site-footer nav a { color: #d9e3ea; font-size: 0.7rem; text-decoration: none; }
.footer-copyright { justify-self:end; margin:0; color:#aebfca; font-size:.7rem; text-align:right; }
.footer-reviews{display:grid;grid-template-columns:auto auto;align-items:center;gap:.05rem .65rem;padding:.55rem 1rem;color:#fff;text-decoration:none;border:1px solid rgba(255,255,255,.16);border-radius:.8rem;background:rgba(255,255,255,.06);transition:.2s ease}.footer-reviews:hover{border-color:rgba(255,255,255,.38);background:rgba(255,255,255,.12);transform:translateY(-1px)}.footer-reviews .review-stars{grid-row:1/3;font-size:1rem}.footer-reviews strong{font-size:.86rem}.footer-reviews small{color:#b9cad4;font-size:.66rem}
.footer-review-group{display:flex;align-items:center;justify-content:center;gap:.45rem;flex-wrap:wrap}.footer-google-rating{display:grid;grid-template-columns:auto auto;align-items:center;column-gap:.4rem;padding:.45rem .65rem;color:#fff;border:1px solid rgba(255,255,255,.18);border-radius:.7rem;text-decoration:none}.footer-google-rating span{color:#fff;font-weight:900}.footer-google-rating strong{color:#ffc83d}.footer-google-rating small{grid-column:1/-1;color:#b9ccd7;font-size:.62rem}.footer-google-rating:hover{border-color:#ffc83d;background:rgba(255,255,255,.06)}

/* Pages intérieures */
.inner-hero { position: relative; overflow: hidden; padding: clamp(4rem, 8vw, 7rem) 0; background: linear-gradient(125deg, #edf2f4 0 58%, #d4e7e9 58% 100%); }
.inner-hero::after { content: ""; position: absolute; right: 7%; top: 50%; width: clamp(12rem, 24vw, 22rem); aspect-ratio: 1.45; border: 12px solid #fff; border-radius: 1.5rem; background: linear-gradient(145deg, #0c6785, #e1a23c); box-shadow: 0 2rem 3rem rgba(13,49,80,.22); transform: translateY(-50%) rotate(5deg); }
.inner-hero > .container { position:relative; z-index:2; }
.inner-hero-grid { display:grid; grid-template-columns:minmax(0,.7fr) minmax(15rem,.3fr); }
.inner-hero h1 { max-width: 16ch; margin: 0; color: #0d3150; font-size: clamp(2.6rem, 5.5vw, 5rem); line-height: .98; }
.inner-hero .lead { max-width: 42rem; margin: 1.4rem 0 0; color: #536270; }
.inner-hero.compact::after { display: none; }
.inner-hero.compact { padding-block: clamp(3.5rem, 7vw, 5.5rem); }
.inner-hero.has-custom-hero { background:#edf2f4; }
.inner-hero.has-custom-hero::before { position:absolute; z-index:1; inset:0; content:""; pointer-events:none; background:linear-gradient(90deg,rgba(237,242,244,.98),rgba(237,242,244,.9) 48%,rgba(237,242,244,.18)); }
.inner-hero-media { position:absolute; z-index:0; inset:0; display:block; width:100%; height:100%; max-width:none; object-fit:cover; object-position:center; }
.inner-hero.has-custom-hero::after { display:none; }
.content-section { padding-block: clamp(4rem, 8vw, 7rem); }
.content-section-rich { padding-block:clamp(2rem,4vw,3.5rem); }.rich-content.rich-content-wide { width:100%; max-width:none; }.rich-content.home-craft-content { max-width:43rem; }.home-craft-content > :first-child { margin-top:1.2rem; }.home-craft-content > :last-child { margin-bottom:0; }
.content-section h2, .steps-section h2, .page-cta h2, .form-intro h2 { margin: 0; color: #0d3150; font-size: clamp(2rem, 4vw, 3.6rem); line-height: 1.04; letter-spacing: -.04em; }
.content-section p { color: #536270; line-height: 1.7; }
.content-columns { display: grid; grid-template-columns: 1.2fr .8fr; gap: clamp(3rem, 9vw, 8rem); align-items: center; }
.spec-card { display: flex; flex-direction: column; gap: 1rem; padding: clamp(2rem, 5vw, 4rem); color: #fff; border-radius: 1.5rem; background: linear-gradient(145deg, #0d3150, #165b7e); box-shadow: 0 1.5rem 3rem rgba(13,49,80,.2); }
.spec-card strong { color: #fff; font-size: clamp(2.5rem, 5vw, 4.4rem); letter-spacing: -.05em; }
.spec-card span { padding-top: 1rem; border-top: 1px solid rgba(255,255,255,.2); }
.steps-section { padding: clamp(4rem, 8vw, 7rem) 0; background: #f0f3f4; }
.steps-grid, .quality-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; margin-top: 3rem; }
.steps-grid article, .quality-grid article { padding: 1.7rem; background: #fff; border-radius: 1rem; border-top: 4px solid var(--magenta); }
.steps-grid b, .quality-grid span { color: var(--magenta); font-size: 1.6rem; }
.steps-grid h3, .quality-grid h2 { margin: 1rem 0 .5rem; color: #0d3150; font-size: 1.2rem; }
.steps-grid p, .quality-grid p { margin: 0; color: #61707d; font-size: .9rem; }
.large-grid { grid-template-columns: repeat(3, 1fr); gap: 2rem; }
.pricing-cards { display: grid; grid-template-columns: repeat(2, 1fr); gap: 2rem; }
.pricing-cards article { padding: clamp(2rem, 5vw, 4rem); border-radius: 1.5rem; background: #f0f3f4; }
.pricing-cards article:last-child { color: #fff; background: #0d3150; }
.pricing-cards article:last-child h2, .pricing-cards article:last-child li { color: #fff; }
.pricing-cards ul, .form-intro ul { padding-left: 1.2rem; color: #3d5264; line-height: 2; }
.pricing-public { max-width:70rem; }.pricing-intro { max-width:48rem; margin-bottom:2rem; }.pricing-table-wrap { overflow:hidden; border:1px solid #dce4e8; border-radius:1.1rem; box-shadow:0 .8rem 2.5rem rgba(13,49,80,.07); }.pricing-table { width:100%; border-collapse:collapse; background:#fff; }.pricing-table th,.pricing-table td { padding:1.15rem clamp(1rem,3vw,2rem); text-align:left; border-bottom:1px solid #e6ebee; }.pricing-table th { color:#fff; font-size:.75rem; letter-spacing:.06em; text-transform:uppercase; background:#0d3150; }.pricing-table tr:last-child td { border-bottom:0; }.pricing-table td:last-child { color:#d90b58; }.pricing-options-public { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; margin-top:1rem; }.pricing-options-public article { display:flex; justify-content:space-between; gap:1rem; padding:1.25rem 1.5rem; color:#536270; border-radius:.8rem; background:#f0f3f4; }.pricing-options-public strong { color:#0d3150; }.shipping-public { margin-top:2rem; }.shipping-public h3 { color:#0d3150; }.shipping-public > div { display:flex; flex-wrap:wrap; gap:.7rem; }.shipping-public span { display:flex; gap:.75rem; padding:.65rem .9rem; color:#526675; border:1px solid #dce4e8; border-radius:99px; }.shipping-public b { color:#0d3150; }
.center-action { display: flex; justify-content: center; margin-top: 3rem; }
.quality-grid article { background: #f0f3f4; }
.sector-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.3rem; }
.sector-cards article { padding: 2rem; border: 1px solid #dfe5e8; border-radius: 1rem; }
.sector-cards h2 { margin-top: 1.2rem; font-size: 1.4rem; letter-spacing: -.02em; }
.empty-state, .legal-placeholder { max-width: 55rem; padding: clamp(2rem, 6vw, 5rem); border-radius: 1.5rem; background: #f0f3f4; }
.faq-layout { display:grid; grid-template-columns:minmax(16rem,.7fr) minmax(0,1.3fr); align-items:start; gap:clamp(2rem,7vw,6rem); }.faq-layout aside { position:sticky; top:2rem; padding:2rem; border-radius:1.2rem; background:#eef2f3; }.faq-layout aside h2 { font-size:clamp(2rem,3vw,3rem); }.faq-layout aside .button { margin-top:1rem; }.faq-list { display:grid; gap:.8rem; }.faq-list details { overflow:hidden; border:1px solid #dce2e5; border-radius:.8rem; background:#fff; }.faq-list summary { display:flex; align-items:center; gap:1rem; padding:1.25rem 1.4rem; color:#0d3150; font-size:1.08rem; font-weight:800; cursor:pointer; list-style:none; }.faq-list summary::-webkit-details-marker { display:none; }.faq-list summary::after { content:'+'; margin-left:auto; color:#d90b58; font-size:1.5rem; }.faq-list details[open] summary::after { content:'−'; }.faq-list summary span { color:#d90b58; font-size:.72rem; }.rich-content.faq-answer { max-width:none; padding:0 1.4rem 1.25rem; }.faq-answer > :first-child { margin-top:0; }.faq-answer > :last-child { margin-bottom:0; }
.page-cta { padding: clamp(3rem, 6vw, 5rem) 0; background: #edf1f2; }
.page-cta .container { display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.page-cta .eyebrow { margin-bottom: .6rem; }
.page-cta h2 { max-width: 17ch; }
.form-layout { display: grid; grid-template-columns: .7fr 1.3fr; gap: clamp(3rem, 8vw, 7rem); }
.form-intro { align-self: start; position: sticky; top: 2rem; }
.quote-form { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.2rem; }
.field { display: flex; flex-direction: column; gap: .45rem; }
.field.full, .quote-form .full { grid-column: 1 / -1; }
.field label, .check { color: #173851; font-size: .82rem; font-weight: 750; }
.field input, .field textarea, .field select { width: 100%; padding: .9rem 1rem; color: #182d3e; font: inherit; border: 1px solid #bbc7ce; border-radius: .55rem; background: #fff; }
.field input:focus, .field textarea:focus, .field select:focus { outline: 3px solid rgba(245,179,33,.42); border-color: #0d3150; }
.field small { color:#70808b; line-height:1.5; }
.check { display: flex; align-items: flex-start; gap: .6rem; line-height: 1.5; }
.check input { margin-top: .2rem; }
.honeypot { position: absolute !important; left: -10000px !important; }
.notice { margin-bottom: 1.5rem; padding: 1.25rem; border-radius: .75rem; }
.notice.error { color: #7c1735; background: #fde8ef; }
.notice.success { color: #174a36; background: #e3f5ec; }
.quote-field[hidden] { display:none !important; }
.contact-hero { background:linear-gradient(120deg,#eef4f5 0%,#fff8ed 100%); }
.contact-reassurance { display:flex; flex-wrap:wrap; gap:.65rem; margin-top:1.7rem; }
.contact-reassurance span { padding:.55rem .8rem; color:#0d3150; font-size:.72rem; font-weight:800; border:1px solid rgba(13,49,80,.14); border-radius:99px; background:rgba(255,255,255,.75); }
.contact-form-card { padding:clamp(1.4rem,4vw,2.6rem); border:1px solid #e0e7ea; border-radius:1.4rem; background:#fff; box-shadow:0 1.4rem 4rem rgba(13,49,80,.09); }
.form-card-heading { margin-bottom:1.8rem; }.form-card-heading .eyebrow { margin-bottom:.45rem; }.form-card-heading h2 { margin:0; color:#0d3150; font-size:clamp(1.65rem,3vw,2.5rem); letter-spacing:-.035em; }.form-card-heading p:last-child { margin:.65rem 0 0; color:#667783; line-height:1.6; }
.request-selector { padding:1rem; border-radius:.75rem; background:#eef4f6; }.request-selector select { border-color:#8fa6b3; font-weight:750; }
.contact-product-card { display:grid; gap:.6rem; margin-top:1.6rem; padding:1.35rem; color:#dce9ef; border-radius:1rem; background:#0d3150; }.contact-product-card strong { color:#fff; }.contact-product-card span { padding-top:.6rem; font-size:.78rem; border-top:1px solid rgba(255,255,255,.13); }
.contact-direct { margin-top:1.5rem; font-size:.82rem; }.contact-direct a { color:#d90b58; font-weight:850; }
.form-submit { display:flex; align-items:center; flex-wrap:wrap; gap:1rem; }.form-submit small { color:#70808b; font-size:.72rem; }
.content-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.4rem; }.content-card { overflow:hidden; border-radius:1rem; background:#fff; box-shadow:0 .8rem 2.5rem rgba(13,49,80,.1); }.content-card > a { display:block; height:100%; color:inherit; text-decoration:none; }.content-card img,.content-card-placeholder { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; }.content-card-placeholder { display:grid; place-items:center; padding:1rem; color:#fff; font-weight:850; background:linear-gradient(135deg,#0d3150,#16869a); }.content-card > a > div:last-child { padding:1.25rem; }.content-card h2 { margin:.35rem 0 .7rem; font-size:1.25rem; line-height:1.15; }.content-card p { margin:.4rem 0; font-size:.86rem; }.content-card span { color:#d90b58; font-size:.78rem; font-weight:850; }.content-card time { color:#71808a; font-size:.72rem; }
.editorial-hero { padding:clamp(3rem,7vw,6rem) 0 clamp(5rem,9vw,8rem); background:linear-gradient(120deg,#eef4f5,#fff8ed); }.editorial-heading { max-width:74rem; }.editorial-back { display:inline-block; margin-bottom:clamp(2rem,4vw,3.5rem); color:#536b7c; font-size:.78rem; font-weight:800; text-decoration:none; }.editorial-back:hover { color:#d90b58; }.editorial-heading-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(18rem,.85fr); align-items:end; gap:clamp(2rem,7vw,7rem); }.editorial-heading h1 { max-width:13ch; margin:.5rem 0 0; color:#0d3150; font-size:clamp(2.7rem,5.6vw,5.2rem); line-height:.96; letter-spacing:-.055em; }.editorial-intro { padding:1.5rem 0 .35rem clamp(1.25rem,3vw,2.5rem); border-left:3px solid #d90b58; }.editorial-heading .lead { margin:0; color:#536270; font-size:clamp(1rem,1.5vw,1.18rem); line-height:1.7; }.editorial-heading time { display:block; margin-top:1.4rem; color:#71808a; font-size:.78rem; font-weight:750; }.editorial-cover { position:relative; z-index:1; margin-top:clamp(-4.5rem,-5vw,-2.5rem); }.editorial-cover img { display:block; width:100%; aspect-ratio:16/9; object-fit:cover; border:1px solid rgba(13,49,80,.08); border-radius:1.4rem; box-shadow:0 1.2rem 3.5rem rgba(13,49,80,.14); }.editorial-body { max-width:54rem; padding-block:clamp(3rem,7vw,6rem); font-size:1.05rem; line-height:1.8; }.editorial-body img { max-width:100%; height:auto; }.detail-gallery { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; padding-bottom:5rem; }.detail-gallery figure { margin:0; }.detail-gallery img { width:100%; border-radius:1rem; }.detail-gallery figcaption { margin-top:.5rem; color:#6c7d88; font-size:.78rem; }
.portfolio-detail .editorial-heading { max-width:var(--content-width); }.portfolio-detail .editorial-heading h1 { width:100%; max-width:none; font-size:clamp(2rem,3vw,3.5rem); line-height:1.04; }.portfolio-detail .editorial-body { max-width:80rem; }
.share-block { padding:clamp(1.6rem,3vw,2.5rem) 0; border-top:1px solid #dce4e7; background:#eef3f4; }.share-inner { display:flex; align-items:center; justify-content:space-between; gap:2rem; }.share-inner .eyebrow { margin:0 0 .35rem; }.share-inner h2 { margin:0; color:#0d3150; font-size:clamp(1.35rem,2vw,1.8rem); }.share-links { display:flex; flex-wrap:wrap; align-items:center; gap:.55rem; }.share-link { position:relative; width:2.85rem; height:2.85rem; display:grid; place-items:center; padding:0; color:#0d3150; border:1px solid #cbd8de; border-radius:50%; background:#fff; cursor:pointer; transition:transform .2s ease,color .2s ease,border-color .2s ease,background .2s ease; }.share-link:hover,.share-link:focus-visible { color:#fff; border-color:#0d3150; background:#0d3150; transform:translateY(-2px); }.share-link svg { width:1.22rem; height:1.22rem; fill:currentColor; }.share-whatsapp:hover,.share-whatsapp:focus-visible { border-color:#178b52; background:#178b52; }.share-facebook:hover,.share-facebook:focus-visible { border-color:#1877f2; background:#1877f2; }.share-linkedin:hover,.share-linkedin:focus-visible { border-color:#0a66c2; background:#0a66c2; }.share-x:hover,.share-x:focus-visible { border-color:#111; background:#111; }.share-email:hover,.share-email:focus-visible,.share-copy:hover,.share-copy:focus-visible,.share-copy.copied { border-color:#d90b58; background:#d90b58; }.share-copy-status { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
@media(max-width:650px){.share-inner{align-items:flex-start;flex-direction:column;gap:1.2rem}.share-link{width:2.65rem;height:2.65rem}}
@media(max-width:850px){.content-card-grid{grid-template-columns:repeat(2,1fr)}.editorial-heading-grid{grid-template-columns:1fr;gap:1.75rem}.editorial-heading h1{max-width:16ch}.editorial-intro{padding-block:.5rem}.editorial-cover img{aspect-ratio:4/3}}
@media(max-width:560px){.content-card-grid,.detail-gallery{grid-template-columns:1fr}.contact-form-card{padding:1.15rem}.contact-reassurance{align-items:flex-start;flex-direction:column}}
.client-shell { min-height: 65vh; display: grid; place-items: center; padding: 4rem 1rem; background: linear-gradient(140deg, #eaf1f3, #f8f1e7); }
.client-card { width: min(100%, 48rem); padding: clamp(2rem, 7vw, 5rem); text-align: center; border-radius: 2rem; background: #fff; box-shadow: 0 2rem 5rem rgba(13,49,80,.12); }
.client-card h1 { color: #0d3150; }
.client-card > p:not(.eyebrow) { color: #596a77; line-height: 1.7; }
.client-card .eyebrow { margin-top: 3rem; }
.client-features { display: flex; flex-wrap: wrap; justify-content: center; gap: .75rem; margin: 2rem 0; }
.client-features span { padding: .65rem 1rem; color: #0d3150; font-size: .8rem; font-weight: 750; border-radius: 99px; background: #edf2f4; }
.client-auth-grid { width:min(100%,72rem); display:grid; grid-template-columns:1fr minmax(21rem,.72fr); align-items:center; gap:clamp(2rem,7vw,7rem); }.client-auth-intro h1,.portal-hero h1 { max-width:12ch; margin:.6rem 0 1rem; color:#0d3150; font-size:clamp(2.5rem,5vw,4.8rem); line-height:.98; letter-spacing:-.05em; }.client-auth-intro>p:not(.eyebrow) { max-width:38rem; color:#536878; font-size:1.1rem; line-height:1.7; }.client-login-card { padding:clamp(1.5rem,4vw,3rem); text-align:left; border-radius:1.4rem; }.client-login-card h2 { margin-top:0; color:#0d3150; font-size:2rem; }.client-form { display:grid; gap:1rem; }.client-form label,.proof-decision label { display:grid; gap:.4rem; color:#29475e; font-size:.82rem; font-weight:800; }.client-form input,.client-form select,.client-form textarea,.proof-decision textarea { width:100%; padding:.85rem 1rem; font:inherit; border:1px solid #bdcbd2; border-radius:.55rem; background:#fff; }.client-form button { justify-self:start; border:0; }.client-register-link { font-size:.88rem; }.client-register-link a,.client-card>a,.password-reset summary { color:#0d587f; font-weight:800; }.password-reset { margin-top:1.5rem; padding-top:1rem; border-top:1px solid #e0e6e9; }.password-reset summary { cursor:pointer; }.password-reset form { margin-top:1rem; }.password-reset button { padding:.7rem 1rem; color:#fff; font-weight:800; border:0; border-radius:.5rem; background:#0d3150; }.form-error,.form-success { padding:1rem; border-radius:.6rem; }.form-error { color:#801b3d!important; background:#fde9ef; }.form-success { color:#18513b!important; background:#e4f5ec; }.client-register-card { width:min(100%,62rem); text-align:left; }.client-register-card>.eyebrow { margin-top:0; }.client-register-card h1 { color:#0d3150; }.client-form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.client-form .full-field { grid-column:1/-1; }.client-check { display:flex!important; grid-column:1/-1; align-items:flex-start; grid-template-columns:auto 1fr; }.client-check input { width:auto; margin-top:.2rem; }.honeypot { position:absolute!important; left:-10000px!important; }
.portal { min-height:65vh; background:#f5f7f7; }.portal-hero { padding:clamp(3rem,7vw,6rem) 0; background:linear-gradient(120deg,#eaf2f4,#fff5e6); }.portal-hero>.container { display:flex; align-items:flex-end; justify-content:space-between; gap:2rem; }.portal-hero h1 { max-width:16ch; }.portal-hero p { color:#536878; }.portal-back { display:inline-block; margin-bottom:1.5rem; color:#345a73; font-weight:800; text-decoration:none; }.portal-section { padding-block:clamp(2.5rem,5vw,4.5rem); }.portal-section+.portal-section { border-top:1px solid #dce4e7; }.portal-section h2 { margin:.4rem 0 1.5rem; color:#0d3150; font-size:clamp(2rem,4vw,3.2rem); }.portal-heading { display:flex; align-items:end; justify-content:space-between; gap:1rem; }.portal-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }.portal-card,.portal-models article,.portal-document,.portal-empty { padding:1.5rem; border:1px solid #e0e7ea; border-radius:1rem; background:#fff; box-shadow:0 .5rem 1.5rem rgba(13,49,80,.05); }.portal-card { color:#26475e; text-decoration:none; }.portal-card:hover { transform:translateY(-2px); box-shadow:0 1rem 2rem rgba(13,49,80,.1); }.portal-card h3,.portal-models h3,.portal-document h3 { color:#0d3150; }.portal-card small,.portal-models small { color:#71818c; }.portal-card strong { display:block; color:#d90b58; }.portal-status { display:inline-block; padding:.35rem .65rem; color:#0d3150; font-size:.7rem; font-weight:850; text-transform:uppercase; border-radius:99px; background:#e7eff2; }.portal-models { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }.portal-document { display:flex; align-items:center; justify-content:space-between; gap:2rem; margin-bottom:1rem; }.proof-decision { min-width:min(100%,27rem); display:grid; gap:1rem; }.proof-decision>div { display:flex; flex-wrap:wrap; gap:.6rem; }.button-secondary { color:#0d3150!important; border:1px solid #9fb3bf!important; background:#fff!important; }.reorder-form { display:flex; gap:.5rem; margin-top:1rem; }.reorder-form input { min-width:0; width:8rem; padding:.6rem; border:1px solid #bdcbd2; border-radius:.45rem; }.reorder-form button { padding:.6rem .75rem; color:#fff; font-weight:800; border:0; border-radius:.45rem; background:#d90b58; cursor:pointer; }
@media(max-width:850px){.client-auth-grid{grid-template-columns:1fr}.portal-grid,.portal-models{grid-template-columns:1fr 1fr}.portal-document{align-items:flex-start;flex-direction:column}.portal-hero>.container{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.client-form-grid,.portal-grid,.portal-models{grid-template-columns:1fr}.client-form .full-field{grid-column:auto}.portal-heading{align-items:flex-start;flex-direction:column}}
.rich-content { max-width:58rem; }.rich-content h2 { margin:2.2rem 0 .85rem; font-size:clamp(1.45rem,2.4vw,2rem); line-height:1.16; }.rich-content h3 { margin:1.8rem 0 .7rem; color:#173851; font-size:1.25rem; }.rich-content p { font-size:1.02rem; }

@media (max-width: 900px) {
  .header-top { align-items: flex-start; flex-direction: column; padding-block: 1rem; }
  .header-actions { width: 100%; flex-wrap: wrap; }
  .main-nav { overflow-x: auto; }
  .nav-inner { width: max-content; min-width: 100%; padding-inline: 1.25rem; justify-content: flex-start; }
  .hero {
    background: #edf2f4;
  }
  .hero::after { background:linear-gradient(90deg,rgba(237,242,244,.98) 0%,rgba(237,242,244,.93) 48%,rgba(237,242,244,.42) 76%); }
  .hero-media { object-position:58% center; }
  .hero-copy { width: min(70%, 40rem); padding-right: 0; }
  .craft-section { grid-template-columns: 1fr; }
  .sector-grid, .portfolio-grid { grid-template-columns: repeat(3, 1fr); }
  .quote-cta { grid-template-columns: 1fr 1fr; }
  .quote-points { grid-column: 1 / -1; }
  .content-columns, .form-layout { grid-template-columns: 1fr; }
  .form-intro { position: static; }
  .steps-grid, .quality-grid { grid-template-columns: repeat(2, 1fr); }
  .sector-cards { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 600px) {
  .container { width: min(calc(100% - 1.5rem), var(--content-width)); }
  .header-actions p { flex-basis: 100%; }
  .hero-benefits, .feature-list { grid-template-columns: 1fr; }
  .hero {
    background: #edf2f4;
  }
  .hero::after { background:linear-gradient(90deg,rgba(237,242,244,.98),rgba(237,242,244,.91)); }
  .hero-media { object-position:62% center; }
  .hero-grid { min-height: 35rem; }
  .hero-copy { width: 100%; padding-block: 3rem; }
  .sector-grid, .portfolio-grid { grid-template-columns: repeat(2, 1fr); }
  .craft-copy, .quote-copy, .quote-points { padding: 2rem 1.25rem; }
  .logo-placeholders { grid-template-columns: repeat(2, 1fr); }
  .faq-layout { grid-template-columns:1fr; }.faq-layout aside { position:static; }
  .quote-cta { grid-template-columns: 1fr; }
  .quote-points { grid-column: auto; }
  .footer-inner { grid-template-columns:1fr; justify-items:start; }
  .footer-copyright { justify-self:start; text-align:left; }
  .site-footer nav { grid-column:auto; justify-content:flex-start; }
  .inner-hero::after { opacity: .22; right: -8rem; }
  .inner-hero-grid { grid-template-columns: 1fr; }
  .large-grid, .pricing-cards, .pricing-options-public, .sector-cards, .steps-grid, .quality-grid { grid-template-columns: 1fr; }
  .page-cta .container { align-items: flex-start; flex-direction: column; }
  .quote-form { grid-template-columns: 1fr; }
  .field.full, .quote-form .full { grid-column: auto; }
}
.home-simulator-section{padding:clamp(3rem,6vw,6rem) 0;background:#eef4f5}.price-simulator{background:#fff;border:1px solid #dce6e9;border-radius:24px;padding:clamp(1.5rem,4vw,3.5rem);box-shadow:0 18px 50px rgba(13,49,80,.08)}.simulator-heading{max-width:58rem;margin-bottom:2rem}.simulator-heading h2{margin:.25rem 0 .75rem;font-size:clamp(2rem,4vw,3.5rem);color:#0d3150}.simulator-heading p:last-child{max-width:48rem;color:#5d7080}.simulator-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.25rem}.simulator-form .full{grid-column:1/-1}.simulator-form .field{display:flex;flex-direction:column;gap:.45rem}.simulator-form label{font-weight:750;color:#14364f}.simulator-form input[type=text],.simulator-form input[type=email],.simulator-form input[type=number]{width:100%;min-height:3.4rem;padding:.75rem 1rem;border:1px solid #b9ccd5;border-radius:12px;background:#fff;font:inherit;color:#102f48}.simulator-form input:focus{outline:3px solid rgba(220,11,88,.14);border-color:#dc0b58}.simulator-form .check{display:flex;align-items:flex-start;gap:.65rem;font-weight:600}.simulator-submit{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:.5rem}.simulator-submit span,.simulator-disclaimer{font-size:.84rem;color:#647784}.simulator-result{margin-top:2rem;padding:clamp(1.25rem,3vw,2.25rem);border-radius:18px;background:#0d3150;color:#fff}.simulator-result .eyebrow{color:#ff6b9f}.simulator-numbers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:1rem 0}.simulator-numbers div{padding:1rem;border:1px solid rgba(255,255,255,.16);border-radius:12px;background:rgba(255,255,255,.06)}.simulator-numbers span,.simulator-numbers strong{display:block;color:#fff}.simulator-numbers span{font-size:.78rem;opacity:.82;margin-bottom:.35rem}.simulator-numbers strong{font-size:clamp(1rem,1.6vw,1.35rem);line-height:1.3}.simulator-result .button{margin-top:.8rem}.simulator-breakdown{font-weight:700;color:#fff!important;opacity:.9}.simulator-result .simulator-disclaimer{color:#dce7ec!important}.simulator-page-link{text-align:right;margin:1rem .5rem 0}.simulator-page-link a{font-weight:800;color:#0d3150}.simulator-page-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(18rem,.65fr);gap:clamp(2rem,5vw,5rem);align-items:start}.simulator-seo-content{max-width:none;padding:1.5rem 0}.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:800px){.simulator-form,.simulator-numbers,.simulator-page-layout{grid-template-columns:1fr}.simulator-numbers{gap:.65rem}.simulator-page-link{text-align:left}.price-simulator{border-radius:18px}}

/* Page calculateur : le contenu éditorial et l'outil occupent la largeur du conteneur. */
.simulator-page-layout{display:block}
.simulator-page-layout>.price-simulator,.simulator-page-layout>.simulator-seo-content{width:100%;max-width:none}
.simulator-page-layout>.simulator-seo-content{padding:clamp(1.5rem,3vw,2.5rem) 0 0}
.account-required-note{display:flex;flex-direction:column;gap:.25rem;padding:1rem 1.1rem;border-left:4px solid #dc0b58;border-radius:8px;background:#f8eef2;color:#173851}.account-required-note span{font-size:.9rem;color:#607383}
.pricing-negotiable{display:flex;justify-content:space-between;align-items:center;gap:clamp(1.5rem,4vw,4rem);margin-top:clamp(2rem,5vw,4rem);padding:clamp(1.5rem,4vw,3rem);border-radius:1.25rem;background:#0d3150;color:#fff}.pricing-negotiable>div{max-width:52rem}.pricing-negotiable .eyebrow{margin:0 0 .45rem;color:#ff6b9f}.pricing-negotiable h2{margin:0 0 .65rem;color:#fff;font-size:clamp(1.7rem,3vw,2.75rem)}.pricing-negotiable p:last-child{margin:0;color:#dce7ec}.pricing-negotiable .button{flex:0 0 auto;white-space:nowrap}@media(max-width:1050px) and (min-width:801px){.simulator-numbers{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.pricing-negotiable{align-items:flex-start;flex-direction:column}.pricing-negotiable .button{white-space:normal}}
.portal-order-builder{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.5rem 0}.portal-order-builder form{display:grid;align-content:start;gap:.85rem;padding:1.5rem;border:1px solid #dce5e8;border-radius:1rem;background:#fff}.portal-order-builder h3{margin:0;color:#0d3150}.portal-order-builder label{display:grid;gap:.4rem;color:#365267;font-size:.85rem;font-weight:800}.portal-order-builder input,.portal-order-builder select{width:100%;min-height:3rem;padding:.7rem .8rem;border:1px solid #b9cad2;border-radius:.55rem;background:#fff;font:inherit}.portal-order-builder .button{justify-self:start}@media(max-width:750px){.portal-order-builder{grid-template-columns:1fr}}
@media(max-width:900px){.quote-cta{grid-template-columns:1fr 1fr}.quote-cta .quote-copy{grid-column:1/-1;order:-1}.quote-image{min-height:11rem}}
@media(max-width:600px){.quote-cta{grid-template-columns:1fr}.quote-cta .quote-copy{grid-column:auto}.quote-image{min-height:8rem}}
.project-workflow{margin:clamp(1.5rem,4vw,3rem) 0;padding:clamp(1.25rem,3vw,2rem);border:1px solid #dce5e8;border-radius:1.2rem;background:#fff;box-shadow:0 .8rem 2rem rgba(13,49,80,.06)}.project-workflow-heading h2{margin:.2rem 0 .4rem;color:#0d3150;font-size:clamp(1.6rem,3vw,2.4rem)}.project-workflow-heading>p:last-child{margin:.25rem 0 1.5rem;color:#647784}.project-workflow ol{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.6rem;margin:0;padding:0;list-style:none}.project-workflow li{position:relative;display:flex;align-items:flex-start;gap:.65rem;min-width:0;padding:.9rem;border-radius:.8rem;background:#f1f4f5}.project-workflow li>span{flex:0 0 1.75rem;height:1.75rem;display:grid;place-items:center;border-radius:50%;background:#cbd7dc;color:#fff;font-size:.75rem;font-weight:900}.project-workflow li strong,.project-workflow li small{display:block}.project-workflow li strong{color:#173851;font-size:.8rem}.project-workflow li small{margin-top:.2rem;color:#6b7d89;font-size:.68rem;line-height:1.35}.project-workflow li.is-done{background:#e5f4ed}.project-workflow li.is-done>span{background:#21845c}.project-workflow li.is-current{outline:2px solid #d90b58;background:#fff0f5}.project-workflow li.is-current>span{background:#d90b58}@media(max-width:1050px){.project-workflow ol{grid-template-columns:repeat(3,1fr)}}@media(max-width:600px){.project-workflow ol{grid-template-columns:1fr}}
.portal-notifications{padding-bottom:1.5rem}.portal-notifications h2{color:#0d3150;font-size:1.35rem}.portal-notification{display:grid;grid-template-columns:8rem minmax(10rem,.45fr) 1fr;gap:1rem;padding:.8rem 1rem;color:#536878;text-decoration:none;border-bottom:1px solid #dfe7ea;background:#fff}.portal-notification:first-of-type{border-radius:.8rem .8rem 0 0}.portal-notification:last-child{border-radius:0 0 .8rem .8rem}.portal-notification.is-unread{border-left:4px solid #d90b58;background:#fff5f8}.portal-notification span,.portal-notification small{font-size:.75rem}.portal-notification strong{color:#173851;font-size:.85rem}@media(max-width:700px){.portal-notification{grid-template-columns:1fr;gap:.25rem}}
.notification-list-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;border-bottom:1px solid #dfe7ea;background:#fff}.notification-list-row .portal-notification{width:100%;border:0}.notification-list-row.is-unread{border-left:4px solid #d90b58;background:#fff5f8}.notification-list-row.is-unread .portal-notification{background:transparent}.notification-list-row.is-read strong{font-weight:500}.notification-list-row form{padding-right:.7rem}.notification-list-row button,.notification-read-button{padding:.38rem .58rem;color:#496274;border:1px solid #cedae0;border-radius:.5rem;background:#fff;font-size:.68rem;font-weight:750;cursor:pointer}.tool-popover-item{border-top:1px solid #e4eaed}.tool-popover-item>a{display:grid;gap:.2rem;padding:.7rem;color:#4b6273;text-decoration:none}.tool-popover-item.is-unread{border-left:3px solid #d90b58;background:#fff6f9}.tool-popover-item.is-read b{font-weight:500}.tool-popover-item .notification-read-button{margin:0 .7rem .6rem}@media(max-width:700px){.notification-list-row{grid-template-columns:1fr}.notification-list-row form{padding:.2rem .8rem .7rem}}
.portal-tools{display:flex;align-items:center;gap:.6rem}.portal-tools>a{position:relative;width:2.75rem;height:2.75rem;display:grid;place-items:center;color:#0d3150;border:1px solid #cbd9df;border-radius:.8rem;background:#fff;box-shadow:0 .4rem 1rem rgba(13,49,80,.08)}.portal-tools svg{width:1.25rem;height:1.25rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.tool-badge{position:absolute;top:-.45rem;right:-.45rem;min-width:1.35rem;height:1.35rem;display:grid;place-items:center;padding:0 .25rem;color:#fff;border:2px solid #fff;border-radius:99px;background:#d90b58;font-size:.62rem;font-weight:900}.tool-badge[hidden]{display:none}.project-messages{scroll-margin-top:2rem}.message-thread{display:grid;gap:.8rem;margin:1rem 0 1.25rem}.message-bubble{max-width:min(80%,42rem);padding:.9rem 1rem;border-radius:1rem;background:#fff;box-shadow:0 .35rem 1rem rgba(13,49,80,.06)}.message-bubble.is-customer{justify-self:end;color:#fff;background:#0d3150}.message-bubble.is-admin{justify-self:start}.message-bubble p{margin:0;line-height:1.55}.message-bubble small{display:block;margin-top:.45rem;opacity:.7}.message-form{display:grid;gap:.7rem}.message-form textarea{width:100%;padding:.85rem;border:1px solid #bdcdd4;border-radius:.7rem;font:inherit;resize:vertical}.notification-preferences{display:grid;gap:.7rem}.notification-preferences label{display:grid;grid-template-columns:minmax(12rem,1fr) minmax(12rem,.55fr);align-items:center;gap:1rem}@media(max-width:600px){.notification-preferences label{grid-template-columns:1fr}.message-bubble{max-width:92%}}
.portal-card{position:relative}.portal-action-badge{position:absolute;top:-.55rem;right:-.55rem;min-width:1.75rem;height:1.75rem;display:grid!important;place-items:center;padding:0 .4rem;color:#fff!important;border:3px solid #f5f7f7;border-radius:99px;background:#d90b58!important;font-size:.72rem;font-weight:900}
.model-preview-thumb{position:relative;display:grid;overflow:hidden;width:100%;aspect-ratio:78/54;margin-bottom:1rem;border-radius:.75rem;background:#dfe8ec;text-decoration:none}.model-preview-thumb img{width:100%;height:100%;object-fit:cover}.model-pdf-preview{display:grid;place-items:center;height:100%;color:#0d3150!important;font-weight:850;background:linear-gradient(135deg,#edf3f5,#fff)}.model-watermark{position:absolute;inset:auto 0 1rem;display:block!important;padding:.4rem;color:rgba(255,255,255,.92)!important;background:rgba(13,49,80,.66)!important;font-size:.62rem!important;font-weight:900;text-align:center;letter-spacing:.13em}.private-preview-page{min-height:100vh;padding:clamp(1rem,3vw,2.5rem);background:#071f32}.private-preview-shell{width:min(100%,110rem);margin:auto}.private-preview-shell header{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-bottom:1.5rem;color:#dce8ef}.private-preview-shell header h1{max-width:32rem;margin:0;color:#fff;font-size:clamp(1.2rem,2.5vw,2rem);text-align:center}.private-preview-shell header p{max-width:28rem;margin:0;font-size:.78rem;line-height:1.5}.private-preview-shell .brand-wordmark,.private-preview-shell .brand-wordmark small{color:#fff}.private-preview-frame{position:relative;overflow:hidden;width:100%;min-height:70vh;display:grid;place-items:center;border-radius:1rem;background:#fff}.private-preview-frame>img{display:block;max-width:100%;max-height:82vh;object-fit:contain}.private-preview-frame>iframe{width:100%;height:82vh;border:0}.private-watermark{position:absolute;z-index:2;inset:0;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(4,1fr);place-items:center;overflow:hidden;pointer-events:none}.private-watermark span{color:rgba(255,255,255,.48);font-size:clamp(.75rem,1.6vw,1.5rem);font-weight:900;letter-spacing:.08em;text-shadow:0 1px 4px rgba(0,0,0,.45);transform:rotate(-24deg);white-space:nowrap}@media(max-width:700px){.private-preview-shell header{align-items:flex-start;flex-direction:column}.private-watermark{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(6,1fr)}}

/* Page Avis : même structure de héros que les autres pages et CTA compact. */
.reviews-hero h1{max-width:18ch}.reviews-introduction{padding-bottom:0}body.site-page .reviews-page{padding-block:clamp(2.5rem,5vw,5rem)}.reviews-page .reviews-summary strong{font-size:clamp(1.7rem,3vw,2.25rem)}.review-submit-card{align-items:center}.review-submit-card>.button{width:auto;max-width:24rem;min-width:16rem;justify-self:center;padding-inline:2rem}

/* Cockpit de composition client. */
.legacy-composition{display:none!important}.order-cockpit{padding-block:clamp(2rem,5vw,4.5rem)}.cockpit-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:1.2rem}.cockpit-heading h2{max-width:18ch;margin:.25rem 0 .6rem;color:#0d3150;font-size:clamp(2rem,4vw,3.4rem);line-height:1}.cockpit-heading>div>p:last-child{max-width:48rem;margin-bottom:0;color:#617581;line-height:1.65}.cockpit-total{flex:0 0 10rem;padding:1.15rem 1.25rem;color:#fff;border-radius:1rem;background:#0d3150;box-shadow:0 .8rem 2rem rgba(13,49,80,.16)}.cockpit-total small,.cockpit-total span{display:block;color:#cbdce5;font-size:.72rem}.cockpit-total strong{display:block;margin:.15rem 0;color:#fff;font-size:2.1rem}.cockpit-notice{margin:0 0 1rem;padding:.85rem 1rem;color:#245a45;border-left:4px solid #23845c;border-radius:.65rem;background:#e7f5ee}.cockpit-notice.is-error{color:#8a203d;border-left-color:#c83d4d;background:#fdebf0}.cockpit-notice[hidden]{display:none}.order-composer-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(19rem,.35fr);align-items:start;gap:1.2rem}.order-selection,.model-library{border:1px solid #d8e3e7;border-radius:1.2rem;background:#fff;box-shadow:0 .8rem 2.2rem rgba(13,49,80,.07)}.order-selection{min-height:32rem;padding:clamp(1rem,3vw,1.7rem);transition:border-color .2s,background-color .2s,transform .2s}.order-selection.is-dragover{border-color:#d90b58;background:#fff7fa;transform:scale(.995)}.selection-heading,.library-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.selection-heading h3,.library-heading h3{margin:0;color:#0d3150;font-size:1.3rem}.selection-heading p,.library-help{margin:.3rem 0 0;color:#71828d;font-size:.78rem}.selection-heading>span{padding:.45rem .7rem;color:#8b3152;border-radius:99px;background:#fff0f5;font-size:.68rem;font-weight:850}.selection-heading>span.is-locked{color:#315f4c;background:#e5f4ed}.selected-models{display:grid;gap:.85rem;margin-top:1.3rem}.cockpit-empty{min-height:23rem;display:grid;place-content:center;gap:.35rem;color:#75858f;text-align:center;border:2px dashed #c8d6dc;border-radius:1rem;background:#f9fbfb}.cockpit-empty strong{color:#0d3150;font-size:1.2rem}.selected-model{position:relative;display:grid;grid-template-columns:minmax(10rem,14rem) minmax(12rem,1fr) 8rem 2.5rem;align-items:center;gap:1rem;padding:.75rem;border:1px solid #dce6e9;border-radius:1rem;background:#fff}.selected-preview,.library-preview{position:relative;display:grid;overflow:hidden;aspect-ratio:78/54;border-radius:.7rem;background:#e3eaed;text-decoration:none}.selected-preview img,.library-preview img{width:100%;height:100%;object-fit:cover}.cockpit-placeholder{display:grid;place-items:center;height:100%;color:#0d3150;font-weight:900;background:linear-gradient(135deg,#dae7eb,#fff)}.selected-copy{min-width:0;display:grid;gap:.28rem}.selected-copy strong,.library-model strong{overflow:hidden;color:#0d3150;text-overflow:ellipsis}.selected-copy small,.library-model small{color:#748590}.model-kind{color:#d90b58;font-size:.65rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.model-proof{justify-self:start;padding:.3rem .55rem;color:#8e5820;border-radius:99px;background:#fff1dc;font-size:.66rem;font-weight:850}.model-proof.is-approved{color:#276047;background:#e3f3ea}.selected-model label{display:grid;gap:.35rem;color:#536a79;font-size:.7rem;font-weight:850}.selected-model input{width:100%;min-height:2.8rem;padding:.55rem;border:1px solid #b8cbd3;border-radius:.55rem;font:inherit}.model-remove{width:2.3rem;height:2.3rem;padding:0;color:#a52448;border:1px solid #efc7d2;border-radius:50%;background:#fff;cursor:pointer;font-size:1.25rem}.model-remove:hover{color:#fff;background:#a52448}.model-library{position:sticky;top:1rem;max-height:calc(100vh - 2rem);padding:1.2rem;overflow:auto}.library-heading .eyebrow{margin:0 0 .25rem}.library-new{padding:.6rem .7rem;color:#fff;border:0;border-radius:.6rem;background:#d90b58;font-weight:850;cursor:pointer}.library-help{margin:.8rem 0 1rem;line-height:1.5}.library-models{display:grid;gap:.75rem}.library-model{display:grid;grid-template-columns:6.7rem minmax(0,1fr);gap:.7rem;padding:.6rem;border:1px solid #dce5e9;border-radius:.8rem;background:#f9fbfb;cursor:grab}.library-model>div:nth-child(2){min-width:0;display:grid;align-content:center;gap:.18rem}.library-model span{color:#52705f;font-size:.66rem}.library-model button{grid-column:1/-1;padding:.55rem;color:#0d3150;border:1px solid #b9ccd5;border-radius:.5rem;background:#fff;font-weight:850;cursor:pointer}.library-model button:hover{color:#fff;border-color:#0d3150;background:#0d3150}.library-empty{padding:1rem;color:#71828d;border-radius:.7rem;background:#f3f7f8;font-size:.8rem}.cockpit-submit{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-top:1.2rem;padding:1.25rem 1.4rem;color:#fff;border-radius:1rem;background:#0d3150}.cockpit-submit strong{font-size:1.05rem}.cockpit-submit p{margin:.3rem 0 0;color:#c9dae3;font-size:.8rem}.cockpit-submit .button{flex:0 0 auto}.order-cockpit.is-locked .order-selection,.order-cockpit.is-locked .model-library{background:#f5f8f8}.cockpit-dialog{position:relative;width:min(34rem,calc(100% - 2rem));padding:clamp(1.3rem,4vw,2rem);border:0;border-radius:1.2rem;box-shadow:0 2rem 5rem rgba(5,30,48,.3)}.cockpit-dialog::backdrop{background:rgba(5,30,48,.68);backdrop-filter:blur(2px)}.cockpit-dialog h2{margin:.2rem 0 1.3rem;color:#0d3150}.cockpit-dialog form,.cockpit-dialog label{display:grid;gap:.65rem}.cockpit-dialog form{gap:1rem}.cockpit-dialog label{color:#355369;font-size:.78rem;font-weight:850}.cockpit-dialog input{width:100%;min-height:3rem;padding:.7rem .8rem;border:1px solid #b8c9d1;border-radius:.6rem;font:inherit}.cockpit-dialog small{color:#75858f;font-weight:500}.dialog-close{position:absolute;top:.9rem;right:.9rem;width:2.3rem;height:2.3rem;padding:0;color:#0d3150;border:0;border-radius:50%;background:#e9eff1;font-size:1.35rem;cursor:pointer}
@media(max-width:1000px){.order-composer-layout{grid-template-columns:1fr}.model-library{position:static;max-height:none}.selected-model{grid-template-columns:10rem minmax(10rem,1fr) 7rem 2.5rem}}
@media(max-width:700px){.cockpit-heading,.cockpit-submit{align-items:stretch;flex-direction:column}.cockpit-total{flex-basis:auto}.selected-model{grid-template-columns:7rem minmax(0,1fr) 2.4rem}.selected-model label{grid-column:1/-1}.selected-preview{grid-row:1/3}.selected-copy{grid-column:2}.model-remove{grid-column:3;grid-row:1}.library-model{grid-template-columns:5.5rem minmax(0,1fr)}.cockpit-submit .button{width:100%}}

/* Interactions, bandeau d'information et avis clients. */
.button{transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,border-color .18s ease,color .18s ease}.button:hover{transform:translateY(-2px);box-shadow:0 .65rem 1.35rem rgba(13,49,80,.18);background:#b9084a;border-color:#b9084a}.button-secondary:hover{color:#fff!important;background:#0d3150!important;border-color:#0d3150!important}.header-actions .account-link{position:relative;padding:.55rem .15rem;color:#18344d;transition:color .18s ease}.header-actions .account-link::after,.nav-inner a::after{content:"";position:absolute;left:0;right:100%;bottom:.25rem;height:2px;border-radius:2px;background:var(--magenta);transition:right .2s ease}.header-actions .account-link:hover,.nav-inner a:hover{color:var(--magenta)}.header-actions .account-link:hover::after,.nav-inner a:hover::after{right:0}.nav-inner a{position:relative;padding:.8rem 0}.site-announcement{position:relative;z-index:5;color:#fff;background:#0d3150}.site-announcement .container{min-height:2.8rem;display:flex;align-items:center;justify-content:center;gap:1rem;padding-block:.5rem;text-align:center;font-size:.86rem}.site-announcement a{color:#fff;font-weight:850;text-underline-offset:.2rem}.reviews-widget{padding:clamp(2.2rem,4vw,3.6rem) 0;background:#f0f4f5}.reviews-widget-inner{display:grid;grid-template-columns:minmax(16rem,1.2fr) auto auto;align-items:center;gap:clamp(1.5rem,4vw,4rem)}.reviews-widget h2{max-width:18ch;margin:.3rem 0;color:#0d3150;font-size:clamp(1.7rem,3vw,2.8rem);line-height:1.05}.reviews-widget-score{display:grid;grid-template-columns:auto auto;align-items:center;gap:.2rem .7rem}.reviews-widget-score strong{color:#0d3150;font-size:1.4rem}.reviews-widget-score small{grid-column:1/-1;color:#627581}.review-stars{color:#f2b01e;font-size:1.35rem;letter-spacing:.08em}.reviews-widget-empty{max-width:24rem;color:#617481}.reviews-widget-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.6rem}.reviews-hero{background:linear-gradient(120deg,#edf5f6,#fff4e7)}.reviews-page{padding-block:clamp(2.5rem,6vw,6rem)}.reviews-summary{margin-bottom:2rem}.reviews-summary strong{display:block;color:#0d3150;font-size:2rem}.reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.review-card{display:flex;flex-direction:column;padding:clamp(1.3rem,3vw,2rem);border:1px solid #dae4e8;border-radius:1.2rem;background:#fff;box-shadow:0 .7rem 2rem rgba(13,49,80,.07)}.review-card .review-stars span{color:#d4dde1}.review-card blockquote{flex:1;margin:1.2rem 0;color:#314f64;font-size:1.02rem;line-height:1.7}.review-card footer{display:grid;gap:.2rem}.review-card footer strong{color:#0d3150}.review-card footer span{color:#70818c;font-size:.82rem}.review-submit-card{display:grid;grid-template-columns:minmax(16rem,.7fr) minmax(20rem,1.3fr);gap:clamp(2rem,6vw,6rem);margin-top:clamp(3rem,7vw,7rem);padding:clamp(1.5rem,4vw,3.5rem);border-radius:1.4rem;background:#eef3f4}.review-submit-card h2{margin:.3rem 0;color:#0d3150;font-size:clamp(2rem,4vw,3.2rem)}.review-submit-card form{display:grid;gap:1rem}.review-submit-card form>label{display:grid;gap:.5rem;color:#28475d;font-weight:800}.review-submit-card textarea{width:100%;padding:1rem;border:1px solid #b8c9d1;border-radius:.7rem;font:inherit;resize:vertical}.star-rating{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:.1rem;margin:0;padding:0;border:0}.star-rating legend{margin-bottom:.4rem;color:#28475d;font-weight:800}.star-rating input{position:absolute;opacity:0}.star-rating label{color:#cbd5da;font-size:2.2rem;cursor:pointer}.star-rating label:hover,.star-rating label:hover~label,.star-rating input:checked~label{color:#f2b01e}.portal-tools{position:relative}.portal-tools>button{position:relative;width:2.75rem;height:2.75rem;display:grid;place-items:center;color:#0d3150;border:1px solid #cbd9df;border-radius:.8rem;background:#fff;box-shadow:0 .4rem 1rem rgba(13,49,80,.08);cursor:pointer}.tool-popover{position:absolute;z-index:50;top:calc(100% + .7rem);right:0;width:min(23rem,calc(100vw - 2rem));padding:.8rem;border:1px solid #d7e1e5;border-radius:1rem;background:#fff;box-shadow:0 1rem 2.5rem rgba(13,49,80,.2)}.tool-popover[hidden]{display:none}.tool-popover>strong{display:block;padding:.35rem .45rem .7rem;color:#0d3150}.tool-popover>a{display:grid;gap:.2rem;padding:.7rem;color:#4b6273;text-decoration:none;border-top:1px solid #e4eaed}.tool-popover>a:hover{border-radius:.6rem;background:#f3f7f8}.tool-popover b{color:#0d3150}.tool-popover span,.tool-popover small{font-size:.74rem;line-height:1.4}.tool-popover small{color:#829099}@media(max-width:900px){.reviews-widget-inner,.review-submit-card{grid-template-columns:1fr}.reviews-widget-actions{justify-content:flex-start}.reviews-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.reviews-grid{grid-template-columns:1fr}.site-announcement .container{align-items:flex-start;flex-direction:column;gap:.2rem}.portal-tools .tool-popover{right:auto;left:0}}@media(prefers-reduced-motion:reduce){.button,.nav-inner a::after,.header-actions .account-link::after{transition:none}.button:hover{transform:none}}
.client-assistance-banner{position:sticky;z-index:1000;top:0;display:flex;align-items:center;justify-content:center;gap:1rem;padding:.65rem 1rem;color:#fff;background:#8b2446;font-size:.82rem}.client-assistance-banner form{margin:0}.client-assistance-banner button{padding:.45rem .7rem;color:#0d3150;border:0;border-radius:.45rem;background:#fff;font-weight:850;cursor:pointer}@media(max-width:700px){.client-assistance-banner{align-items:flex-start;flex-direction:column;gap:.5rem}}
.mark-all-read{display:inline-flex;align-items:center;justify-content:center;min-height:2.35rem;padding:.5rem .8rem;color:#0d3150;border:1px solid #aac0ca;border-radius:.6rem;background:#fff;box-shadow:0 .25rem .7rem rgba(13,49,80,.1);font:inherit;font-size:.72rem;font-weight:850;cursor:pointer}.mark-all-read:hover{color:#fff;border-color:#0d3150;background:#0d3150}.site-menu-toggle{display:none;width:2.75rem;height:2.75rem;padding:.62rem;border:1px solid #bdcdd4;border-radius:.7rem;background:#fff;cursor:pointer}.site-menu-toggle span{display:block;height:2px;margin:.27rem 0;border-radius:2px;background:#0d3150}
@media(max-width:900px){.site-header .header-top{gap:.75rem}.site-logo-header{max-width:10.5rem}.header-actions{gap:.45rem}.header-actions .button-small{display:none}.header-actions .account-link{padding:.55rem .65rem;border:1px solid #c5d4da;border-radius:.6rem;white-space:nowrap}.site-menu-toggle{display:block}.main-nav{display:none}.main-nav.is-open{display:block}.main-nav .nav-inner{display:grid;grid-template-columns:1fr 1fr;gap:0;padding-block:.45rem}.main-nav .nav-inner a{padding:.72rem .55rem;border-bottom:1px solid #e1e8eb}.main-nav .nav-inner a::after{display:none}}
@media(max-width:520px){.site-logo-header{max-width:8.5rem}.header-actions .account-link{font-size:.72rem}.main-nav .nav-inner{grid-template-columns:1fr}}
.cockpit-model-dialog{width:min(46rem,calc(100% - 2rem));max-height:calc(100vh - 2rem);overflow:auto}.cockpit-model-dialog fieldset{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;padding:1rem;border:1px solid #d5e0e4;border-radius:.8rem}.cockpit-model-dialog legend{padding:0 .4rem;color:#0d3150;font-weight:850}.cockpit-model-dialog textarea,.cockpit-model-dialog select{width:100%;padding:.7rem .8rem;border:1px solid #b8c9d1;border-radius:.6rem;background:#fff;font:inherit}.cockpit-model-dialog fieldset label:nth-last-child(1){grid-column:1/-1}@media(max-width:620px){.cockpit-model-dialog fieldset{grid-template-columns:1fr}.cockpit-model-dialog fieldset label:nth-last-child(1){grid-column:auto}}
.error-page{min-height:100vh;margin:0;color:#173851;background:radial-gradient(circle at 85% 15%,rgba(217,11,88,.13),transparent 26rem),linear-gradient(145deg,#eef4f5,#fff 55%,#f8edf2);font-family:Arial,sans-serif}.error-shell{width:min(72rem,calc(100% - 2rem));margin:auto;padding:clamp(2rem,7vw,5rem) 0}.error-brand{display:inline-flex;flex-wrap:wrap;align-items:baseline;color:#0d3150;font-size:2rem;font-weight:950;text-decoration:none;letter-spacing:-.06em}.error-brand span{color:#d90b58}.error-brand small{width:100%;margin-top:.1rem;color:#627885;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase}.error-card{display:grid;grid-template-columns:minmax(11rem,.42fr) minmax(0,1fr);align-items:center;gap:clamp(1.5rem,6vw,5rem);margin-top:clamp(2rem,6vw,4rem);padding:clamp(1.4rem,5vw,4rem);overflow:hidden;border:1px solid #d9e3e7;border-radius:2rem;background:rgba(255,255,255,.9);box-shadow:0 2rem 5rem rgba(13,49,80,.12)}.error-code{color:#d90b58;font-size:clamp(7rem,20vw,15rem);font-weight:950;line-height:.75;letter-spacing:-.1em;opacity:.13}.error-copy h1{max-width:14ch;margin:.4rem 0 1rem;color:#0d3150;font-size:clamp(2.2rem,5vw,4.5rem);line-height:.98;letter-spacing:-.045em}.error-copy .lead{max-width:40rem;color:#587080;line-height:1.7}.error-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.5rem}.error-actions .secondary{color:#0d3150;border:1px solid #b9cbd3;background:#fff}.error-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-top:1rem}.error-links a{display:grid;gap:.35rem;padding:1.25rem;color:#173851;border:1px solid #d9e3e7;border-radius:1rem;background:#fff;text-decoration:none;box-shadow:0 .6rem 1.8rem rgba(13,49,80,.06);transition:transform .2s,border-color .2s}.error-links a:hover{transform:translateY(-3px);border-color:#d90b58}.error-links span{color:#687d89;font-size:.82rem;line-height:1.45}@media(max-width:760px){.error-card{grid-template-columns:1fr}.error-code{font-size:7rem}.error-links{grid-template-columns:1fr 1fr}}@media(max-width:440px){.error-shell{width:min(100% - 1.2rem,72rem)}.error-links{grid-template-columns:1fr}.error-actions a{width:100%;text-align:center}}
