﻿/* Shared page geometry: keep this last in each page bundle. */
:root {--site-gutter:clamp(24px,4vw,112px);--site-width:min(2440px,calc(100% - 2 * var(--site-gutter)));--section-space:clamp(64px,5vw,112px);--hero-space:clamp(40px,3.5vw,80px);--copy-gap:24px;--hero-title:clamp(42px,3.6vw,88px)}
.header {padding-inline:max(var(--site-gutter),calc((100% - 2440px)/2))}
.home-page .section,.home-page .hero-inner,.home-page .hero-bottom,.holding-page .shs-shell,.inner-page .section {width:var(--site-width);max-width:2440px;margin-inline:auto}
.home-page .section {padding-block:var(--section-space)}
.home-page .hero-inner,.home-page .solution-hero,.holding-page .shs-hero {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,4vw,100px);align-items:start;padding-block:var(--hero-space) var(--section-space);min-height:0}
.home-page .hero-copy,.solution-hero-copy,.shs-hero-copy {padding:0;min-width:0;max-width:none}
.home-page .solution-back {display:flex;align-items:center;gap:12px;width:fit-content;height:20px;margin:0 0 24px;font-size:12px;line-height:20px;color:var(--muted)}
.holding-page .shs-hero-copy:before {content:'';display:block;height:20px;margin-bottom:24px}
.home-page .solution-brand,.home-page .solution-page-brand,.holding-page .shs-eyebrow {height:88px;margin:0 0 var(--copy-gap);display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:12px}
.home-page .solution-brand>img {height:48px;width:auto;max-width:100%;margin:0;object-fit:contain;object-position:left}
.home-page .solution-page-brand .sentinel-signature {height:48px;display:flex;align-items:center;margin:0;max-width:100%}
.home-page .solution-page-brand .sentinel-signature img {max-height:48px;margin:0;object-fit:contain;object-position:left}
.home-page .solution-roots-wordmark {font-size:52px;line-height:48px;height:48px;margin:0}
.home-page .solution-brand .brand-endorsement,.home-page .solution-page-brand .eyebrow {margin:0;font-size:9px;line-height:16px}
.holding-page .shs-eyebrow {flex-direction:row;align-items:center;justify-content:flex-start;font-size:10px;letter-spacing:.14em}
.home-page .hero-copy h1,.home-page .solution-hero h1,.holding-page .shs-hero h1 {font-size:var(--hero-title);line-height:1.08;font-weight:400;letter-spacing:-.05em;margin:0 0 var(--copy-gap);max-width:100%;min-height:3.24em;text-wrap:wrap;overflow-wrap:normal}
.home-page .hero-copy .lead,.home-page .solution-lead,.holding-page .shs-description {font-size:clamp(17px,.95vw,22px);line-height:1.65;max-width:54ch;margin:0;min-height:6.6em}
.home-page .hero-copy .actions,.home-page .solution-hero-actions {display:flex;flex-wrap:wrap;align-items:center;gap:24px;margin:var(--copy-gap) 0 0}
.holding-page .shs-main-action {margin-top:var(--copy-gap)}
.home-page .hero-copy .button,.home-page .solution-hero-actions .button,.holding-page .shs-main-action {font-size:13px;min-height:54px;padding:15px 22px}
.home-page .hero-tour,.home-page .solution-visual,.holding-page .shs-graphic {margin:44px 0 0;align-self:start;width:100%;max-width:none}
.home-page .hero-tour {min-height:clamp(620px,38vw,900px)}
.home-page .hero {min-height:0}
.home-page .hero-bottom {padding-block:24px}
.home-page .solution-section-heading,.holding-page .shs-section-heading,.home-page .editorial-heading,.home-page .portfolio-heading {margin-bottom:40px}
.home-page .solution-section-heading h2,.holding-page .shs-section-heading h2,.home-page .editorial-heading h2,.home-page .portfolio-heading h2 {font-size:clamp(36px,3vw,72px);line-height:1.12;margin:0;text-wrap:wrap}
.home-page .solution-section-heading .eyebrow,.holding-page .shs-section-heading .eyebrow {margin-bottom:24px}
@media(max-width:1000px) {
 :root {--hero-title:clamp(38px,4.4vw,48px)}
 .home-page .hero-inner,.home-page .solution-hero,.holding-page .shs-hero {grid-template-columns:1fr;gap:40px}
 .home-page .hero-copy h1,.home-page .solution-hero h1,.holding-page .shs-hero h1 {min-height:0;max-width:720px}
 .home-page .hero-copy .lead,.home-page .solution-lead,.holding-page .shs-description {min-height:0}
 .home-page .hero-tour,.home-page .solution-visual,.holding-page .shs-graphic {margin:0;max-width:none}
 .home-page .hero-tour {min-height:640px}
}
@media(max-width:620px) {
 :root {--site-gutter:24px;--hero-space:32px;--section-space:56px;--hero-title:clamp(36px,9.5vw,54px)}
 .header {padding-inline:var(--site-gutter)}
 .home-page .hero-tour {min-height:580px}
 .home-page .solution-brand,.home-page .solution-page-brand,.holding-page .shs-eyebrow {height:80px}
 .home-page .hero-copy .actions,.home-page .solution-hero-actions {gap:20px}
 .home-page .hero-copy .lead,.home-page .solution-lead,.holding-page .shs-description {font-size:17px}
 .home-page .solution-section-heading,.holding-page .shs-section-heading,.home-page .editorial-heading,.home-page .portfolio-heading {margin-bottom:32px}
}
/* Equal title rows on desktop; mobile text can grow without clipping. */
@media(min-width:1001px){
 .home-page .hero-copy h1,.home-page .solution-hero h1,.holding-page .shs-hero h1 {min-height:2.16em}
}
.home-page .hero-copy .button-arrow {width:24px;height:24px}
@media(max-width:620px){
 .home-page .hero-copy h1,.home-page .solution-hero h1,.holding-page .shs-hero h1 {min-height:3.24em}
 .home-page .hero-copy .lead,.home-page .solution-lead {min-height:8.25em}
}
/* Preserve the registered-mark reference size while normalizing the logo row. */
.home-page .solution-brand>img {width:221px;height:52px}
.home-page .solution-page-brand {--logo-registered-size:10.4px}
@media(max-width:620px){
 .home-page .solution-brand>img {width:195px;height:45.882352941px}
 .home-page .solution-page-brand {--logo-registered-size:9.176470588px}
}

/* Keep the company description attached to its signature. */
.footer-top {display:flex;justify-content:space-between;align-items:flex-start;gap:32px}
.footer-brand {display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.footer-brand>a {display:block}
.footer .footer-brand p {margin:0;max-width:30ch;font-size:13px;line-height:1.6}
.footer-top>a:last-child {align-self:flex-start}
@media(max-width:620px){
 .footer-top {flex-direction:column;gap:28px}
 .footer-brand {gap:12px}
}

/* Product signature replaces the repeated access headline. */
.quartz-page .cta-heading {gap:48px}
.quartz-page .cta-heading .cta-brand {flex:0 1 510px;margin:0;line-height:1;font-size:inherit;max-width:45%}
.cta-brand img {display:block;width:100%;height:auto}
@media(max-width:620px){
 .quartz-page .cta-heading .cta-brand {width:280px;max-width:100%;margin:0 0 32px}
}

/* Direct transition from the product overview to its features. */
.quartz-page .introduction {padding-top:24px}
.quartz-page .intro-top {justify-content:flex-end}

.contact-grid.contact-only {grid-template-columns:minmax(0,1fr)}

/* QUARTZ keeps the same signature height as the other product marks. */
.home-page .solution-brand>img {width:296.4px;height:52px}
@media(max-width:620px){.home-page .solution-brand>img {width:261.529411765px;height:45.882352941px}}

/* QUARTZ uses the same independent registered mark as SENTINEL and ROOTS. */
.quartz-signature {position:relative;display:block;color:var(--offwhite);width:100%}
.quartz-signature>img {display:block;width:100%;height:auto;max-width:none;margin:0}
.quartz-signature>.logo-registered {position:absolute;left:94%;bottom:calc(35.384615385% + var(--logo-registered-size,10.4px) * .2)}
.home-page .solution-brand>.quartz-signature {width:221.333333333px;height:52px;max-width:100%;--logo-registered-size:10.4px}
.home-page .solution-brand>.quartz-signature>img {width:100%;height:auto;margin:0}
.holding-page .shs-product-logo>.quartz-signature {max-width:255px}
.holding-page .shs-product-logo .quartz-signature>img {height:auto;max-width:none}
.cta-brand .quartz-signature {--logo-registered-size:clamp(11px,1.1vw,20px)}
@media(min-width:1800px){.holding-page .shs-product-logo>.quartz-signature {max-width:300px}}
@media(max-width:620px){.home-page .solution-brand>.quartz-signature {width:195.294117647px;height:45.882352941px;--logo-registered-size:9.176470588px}}

/* The holding has no product back-link or logo row to reserve above its title. */
.holding-page .shs-hero {padding-block:clamp(32px,3vw,56px) clamp(48px,4vw,80px)}
.holding-page .shs-hero-copy:before {display:none}
.holding-page .shs-eyebrow {height:auto;min-height:16px;line-height:16px;margin:0 0 24px}
.holding-page .shs-hero h1,.holding-page .shs-description {min-height:0}
.holding-page .shs-graphic {margin:0}
@media(max-width:620px){.holding-page .shs-hero {padding-block:28px 48px}.holding-page .shs-eyebrow {margin-bottom:20px}}

/* SHS editorial standard: justified body copy in every supported language. */
body main p:not(.eyebrow):not(.shs-eyebrow),
body main li,
body .footer p {
 text-align:justify;
 text-align-last:start;
 text-justify:inter-word;
 hyphens:auto;
 overflow-wrap:break-word;
}
