/* Shared editorial hierarchy and accessible controls across the public surface. */
:root { --soft-shadow:0 18px 60px #183d3608; }
body { text-rendering:optimizeLegibility; }
.button { border-radius:999px; box-shadow:none; transition:background .2s ease,transform .2s ease; }
.button:hover { transform:translateY(-1px); }
.button:active { transform:translateY(0); }
.complete-header { gap:22px; }
.complete-header nav { gap:18px; }
.complete-header nav a { font-size:15px; }
.hero { padding-top:68px; }
.hero h1 { font-size:clamp(46px,4.65vw,67px); letter-spacing:-.045em; max-width:720px; }
.hero .lead { max-width:550px; }
.situation { position:relative; transition:background .2s; border-radius:20px; }
.situation a { text-decoration:none; }
.situation a::after { content:""; position:absolute; inset:0; border-radius:20px; }
.situation:hover { background:var(--white); }
.situation h3 { line-height:1.25; }
.home-value { column-gap:100px; }
.home-value h2,.home-focus h2,.home-people h2 { letter-spacing:-.04em; }
.home-final { padding-block:75px 105px; text-align:center; border-top:1px solid var(--line); }
.home-final h2 { max-width:700px; margin-inline:auto; }
.home-final .actions { justify-content:center; }
.social-links { display:flex; flex-wrap:wrap; gap:8px; margin-top:22px; }
.social-links a { display:grid; place-items:center; width:42px; height:42px; border:1px solid #ffffff40; border-radius:50%; color:var(--paper); }
.social-links a:hover { background:#ffffff14; }
.social-links svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.footer-brand .social-handle { margin:10px 0 0; font-size:14px; color:#d2dfd6; }
.complete-footer { grid-template-columns:1.2fr 1fr 1fr 1.2fr; gap:34px; }
.footer-column a { min-height:30px; }
.detail-hero { padding-block:65px 48px; }
.detail-lead { max-width:780px; }
.detail-section { padding-block:46px; }
.detail-item { border-radius:18px; }
.detail-items--cards { gap:20px; }
.detail-items--note { max-width:850px; }
.detail-section--note .detail-section-heading { max-width:900px; }
.policy-page .detail-hero h1 { font-size:clamp(40px,4.2vw,62px); }
.product-page[data-public-page="pricing"] .detail-items--cards .detail-item { padding:32px; background:var(--white); border:1px solid var(--line); box-shadow:var(--soft-shadow); }
.product-page[data-public-page="pricing"] .detail-items--cards .detail-item:nth-child(2) { background:var(--sage); border-color:#9db29f; }
.product-page[data-public-page="about/stasa"] .detail-hero { max-width:800px; }
.product-page[data-public-page="news/your-choices"] .detail-body { max-width:860px; }
.public-form-panel { background:var(--white); border:1px solid var(--line); border-radius:24px; padding:38px; width:min(100%,740px); margin-bottom:42px; box-shadow:var(--soft-shadow); }
.public-form-panel fieldset { padding:0; margin:0; border:0; min-width:0; }
.field { margin-bottom:22px; }
.field label { display:block; font-size:17px; font-weight:600; margin-bottom:7px; }
.field input,.field select,.field textarea { width:100%; min-height:52px; padding:13px 16px; border:1px solid #8e9e91; border-radius:12px; background:#fffefa; color:var(--ink); font:400 18px/1.5 "Source Sans",Arial,sans-serif; }
.field textarea { resize:vertical; }
.field input:hover,.field select:hover,.field textarea:hover { border-color:var(--green); }
.field input:focus,.field select:focus,.field textarea:focus { border-color:var(--green); }
.field-hint,.form-notice { color:var(--muted); font-size:15px; line-height:1.55; }
.field-hint { margin:7px 0 0; }
.form-notice { margin:20px 0 24px; }
.check-choice { display:flex; align-items:flex-start; gap:12px; font-size:17px; cursor:pointer; }
.check-choice input { flex-shrink:0; width:21px; height:21px; margin:3px 0; accent-color:var(--green); }
.form-status { margin:24px 0 0; line-height:1.55; overflow-wrap:anywhere; }
.form-status:empty { display:none; }
.form-status[data-state=error] { color:#8f3626; border-left:3px solid #a34f34; padding-left:15px; }
.form-status[data-state=success] { color:var(--green); border-left:3px solid var(--green); padding-left:15px; }
.token-page { padding-block:70px 100px; min-height:65vh; }
.token-page h1 { max-width:850px; }
.token-page .actions { margin-bottom:0; }
.focus-explorer { margin-top:36px; }
.explorer-groups { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-bottom:25px; }
.explorer-groups button { min-height:88px; padding:18px 20px; text-align:left; border:1px solid var(--line); border-radius:16px; background:transparent; font-size:18px; font-weight:600; line-height:1.25; display:flex; align-items:center; gap:12px; }
.explorer-groups button[aria-pressed=true] { background:var(--green); color:var(--paper); border-color:var(--green); }
.explorer-number { font-size:14px; font-weight:400; opacity:.8; }
.explorer-topics { display:flex; flex-wrap:wrap; gap:9px; margin-bottom:22px; }
.explorer-topics button { border-radius:999px; border:1px solid #a1b0a3; background:var(--white); min-height:44px; padding:10px 18px; font-size:16px; }
.explorer-topics button[aria-pressed=true] { background:#e1eadf; border-color:var(--green); box-shadow:inset 0 0 0 1px var(--green); }
.explorer-card { display:grid; grid-template-columns:.9fr 1.1fr; overflow:hidden; border:1px solid #c9d3c6; border-radius:24px; background:var(--white); margin-bottom:20px; }
.explorer-thought { background:#e5ebdf; padding:50px 42px; display:flex; flex-direction:column; justify-content:center; }
.explorer-thought blockquote { margin:0; font:400 clamp(27px,3vw,39px)/1.2 "Source Serif",Georgia,serif; letter-spacing:-.025em; }
.explorer-thought svg { width:75%; max-width:260px; height:65px; margin-top:30px; fill:none; stroke:#8c9c7c; stroke-width:2; stroke-linecap:round; }
.explorer-response { padding:40px; }
.explorer-response h3 { font-size:29px; }
.explorer-response>.eyebrow { font-size:12px; margin-bottom:12px; }
.explorer-question { border-left:2px solid #b5c6aa; padding-left:18px; margin:24px 0; }
.explorer-question span { color:var(--muted); font-size:13px; }
.explorer-question p { margin:6px 0 0; }
.explorer-status { min-height:1.5em; color:var(--muted); font-size:14px; margin-bottom:0; }
[data-enhanced=true] .explorer-card { min-height:330px; }
[data-compact=true] .explorer-status { display:none; }
.home-focus .home-method-line { margin-top:28px; }
@media(max-width:1200px) and (min-width:1121px) { .complete-header { gap:15px; } .complete-header nav { gap:12px; } .complete-header nav a { font-size:14px; } .complete-header .logo img { width:145px; } }
@media(max-width:1120px) { .complete-footer { grid-template-columns:1.2fr 1fr; } .home-value { column-gap:45px; } .explorer-groups { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:760px) {
  .hero { padding-top:30px; }
  .hero h1 { font-size:clamp(39px,9.5vw,52px); }
  .hero .lead { font-size:19px; }
  .hero-motion { max-width:355px; }
  .hero .actions .button { width:100%; }
  .home-final { padding-block:55px; text-align:left; }
  .home-final .actions { justify-content:flex-start; }
  .public-form-panel { padding:25px; border-radius:20px; }
  .detail-hero { padding-block:42px 30px; }
  .detail-section { padding-block:30px; }
  .detail-hero h1 { font-size:clamp(39px,9vw,52px); }
  .explorer-groups { gap:10px; margin-bottom:20px; }
  .explorer-groups button { min-height:78px; font-size:16px; padding:14px; gap:8px; }
  .explorer-card { grid-template-columns:1fr; }
  .explorer-thought { padding:30px; }
  .explorer-thought blockquote { font-size:29px; }
  .explorer-thought svg { height:40px; margin-top:15px; }
  .explorer-response { padding:28px; }
  .explorer-response h3 { font-size:26px; }
  .explorer-topics { gap:8px; }
  .explorer-topics button { padding:9px 13px; font-size:15px; }
  .complete-footer { grid-template-columns:1fr 1fr; gap:35px 22px; }
  .footer-brand { grid-column:1/-1; }
  .footer-column a { min-height:34px; }
}
@media(max-width:380px) { .public-form-panel { padding:21px; } .explorer-number { display:none; } .explorer-thought,.explorer-response { padding:23px; } .complete-footer { grid-template-columns:1fr; } }
@media(prefers-reduced-motion:reduce) { .button,.situation { transition:none; } .button:hover { transform:none; } }
.quick-contact { position:relative; flex-shrink:0; }
.quick-contact summary::-webkit-details-marker { display:none; }
.quick-contact[open]>summary { background:var(--sage); }
.quick-contact-menu { position:absolute; z-index:20; top:calc(100% + 14px); right:0; width:340px; max-height:70vh; overflow:auto; background:var(--white); border:1px solid var(--line); box-shadow:0 18px 55px #183d361a; border-radius:19px; padding:20px; }
.quick-contact-menu>p { font-weight:600; margin:0 0 10px; }
.quick-contact-menu a { display:flex; flex-direction:column; padding:13px 10px; border-radius:10px; text-decoration:none; font-size:17px; }
.quick-contact-menu a:hover { background:var(--sage); }
.quick-contact-menu a span { font-size:14px; color:var(--muted); margin-top:3px; }
.quick-contact-menu a.quick-contact-form { border-top:1px solid var(--line); border-radius:0; margin-top:8px; flex-direction:row; justify-content:space-between; }
.contact-addresses { margin-block:45px 65px; }
.contact-addresses h2 { font-size:30px; }
.contact-addresses>div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; }
.contact-addresses a { display:flex; flex-direction:column; gap:8px; border:1px solid var(--line); padding:24px; border-radius:18px; text-decoration:none; overflow-wrap:anywhere; }
.contact-addresses a:hover { background:var(--white); }
.contact-addresses a span { color:var(--muted); font-size:16px; }
.search-directory { padding-block:65px 90px; }
.search-directory h1 { max-width:800px; }
.search-directory>.button svg { width:20px; fill:none; stroke:currentColor; stroke-width:1.7; }
.search-directory ul { list-style:none; padding:0; margin-top:40px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.search-directory li { border-top:1px solid var(--line); padding-top:22px; }
.search-directory li a { font-size:23px; line-height:1.3; font-weight:600; }
.search-directory li p { margin-top:10px; color:var(--muted); font-size:17px; }
.complete-header .header-actions { gap:9px; }
@media(min-width:1121px) { .complete-header { gap:16px; } .complete-header nav { gap:15px; } .complete-header nav a { font-size:14px; } .complete-header .logo img { width:150px; } .complete-header .button.small { padding-inline:16px; font-size:14px; } }
@media(max-width:760px) {
  .complete-header { gap:7px; flex-wrap:wrap; }
  .complete-header .logo img { width:120px; }
  .complete-header .header-actions { gap:6px; }
  .header-icon { width:38px; height:42px; min-width:38px; border-radius:12px; }
  .complete-header .language-toggle { min-width:44px; width:44px; padding:8px; gap:4px; }
  .complete-header .language-toggle svg { display:none; }
  .menu-toggle { width:38px; padding-inline:8px; border-radius:12px; }
  .menu-toggle [data-menu-label] { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
  .quick-contact-menu { position:fixed; top:82px; left:16px; right:16px; width:auto; }
  .contact-addresses>div { grid-template-columns:1fr; }
  .site-search { padding:22px; border-radius:20px; }
  .search-heading { gap:12px; }
  .search-heading h2 { font-size:26px; }
  .site-search input { font-size:17px; padding:13px; }
  .search-directory ul { grid-template-columns:1fr; }
}
@media(max-width:360px) { .complete-header .logo img { width:98px; } .complete-header { gap:5px; } .complete-header .header-actions { gap:4px; } .header-icon,.menu-toggle { min-width:35px; width:35px; } }
