/* V3 page tokens and base rules, taken from the approved design export.
   Loaded after claude-design.css by V3 pages only. */
:root{--color-accent:#0b4fd4;--color-accent-100:#e8f0fe;--color-accent-200:#cfe0fb;--color-accent-300:#a9c6f6;--color-accent-400:#6f9df0;--color-accent-500:#2f6ee0;--color-accent-600:#0a45b8;--color-accent-700:#0a3893;--color-accent-800:#0b2a63;--color-accent-900:#0a1c33;--alias-navy:#0a1c33;--alias-navy-deep:#061426}
body{margin:0;background:var(--color-bg);color:var(--color-text)}
a{color:var(--color-accent);text-decoration:none}
a:hover{color:var(--color-accent-700)}
html{scroll-behavior:smooth}
*:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}
.sm-only{display:none}
@media (max-width:760px){.lg-only{display:none !important}.sm-only{display:block !important}}
@media (prefers-reduced-motion:reduce){*{transition:none !important;animation:none !important}}

/* Navigation behaviour that the design export drove from its component
   runtime. Scoped to V3 markup only, so protected pages are unaffected. */
.v3-menu-panel[hidden] { display: none; }
[data-v3-menu] > button { cursor: pointer; }

@media (max-width: 1240px) {
  .alias-nav { display: none !important; }
  .alias-cta-head { display: none !important; }
  .alias-burger { display: grid !important; }
}

@media (min-width: 1241px) {
  #v3-drawer { display: none !important; }
}

/* Panels are keyboard reachable, so give them a visible focus ring. */
.v3-menu-panel a:focus-visible { outline: 2px solid var(--color-accent); outline-offset: -2px; }

/* Hover states the design export expressed as style-hover attributes. */
.v3-h-link:hover { color: #0b4fd4 !important; }
.v3-h-tile:hover { background: rgba(255, 255, 255, .1) !important; }
.v3-h-border:hover { border-color: #0b4fd4 !important; }
.v3-h-white:hover { color: #fff !important; }

/* Contact page: all content stays in normal document flow at every width. */
.v3-contact-hero{position:relative;background:#0a1c33;color:#fff;overflow:hidden}
.v3-contact-grid{position:absolute;inset:0;opacity:.14;background-image:linear-gradient(rgba(255,255,255,.4) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.4) 1px,transparent 1px);background-size:68px 68px}
.v3-contact-container{width:min(100% - 44px,1320px);margin-inline:auto}
.v3-contact-hero-inner{position:relative;padding-block:clamp(44px,6vw,84px)}
.v3-contact-hero h1{margin:0 0 18px;font-size:clamp(30px,4.6vw,54px);line-height:1.05;letter-spacing:-.02em;max-width:22ch;text-wrap:balance}
.v3-contact-hero p{margin:0;font-size:clamp(15px,1.4vw,18px);line-height:1.6;color:rgba(255,255,255,.8);max-width:64ch;text-wrap:pretty}
.v3-section-label{display:flex;align-items:center;gap:13px;margin-bottom:16px;font-family:var(--font-heading);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:#0b4fd4}
.v3-section-label span{width:38px;height:1px;background:currentColor;display:block}
.v3-section-label-light{color:#6f9df0}
.v3-contact-main{background:var(--color-bg);padding:clamp(42px,5.5vw,74px) 0}
.v3-contact-intro{max-width:760px;margin-bottom:28px}
.v3-contact-intro h2{margin:0 0 14px;font-size:clamp(25px,3vw,38px);line-height:1.12}
.v3-contact-intro p{margin:0;font-size:16px;line-height:1.66;color:rgba(29,31,32,.78)}
.v3-contact-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:clamp(28px,4vw,46px)}
.v3-contact-card{display:block;padding:20px 22px;color:var(--color-text);background:#fff}
.v3-contact-card>span{display:block;font-family:var(--font-heading);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:rgba(29,31,32,.55);margin-bottom:6px}
.v3-contact-card strong{display:block;font-family:var(--font-heading);font-size:clamp(18px,2vw,24px);color:#0b4fd4;word-break:break-word}
.v3-contact-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:clamp(24px,3vw,40px);align-items:start}
.v3-contact-form{background:#fff;box-shadow:var(--shadow-sm);padding:clamp(24px,3vw,38px);scroll-margin-top:110px}
.v3-contact-form h2{margin:0 0 8px;font-size:clamp(22px,2.4vw,28px)}
.v3-contact-form section>p,.v3-contact-advanced-inner>p{margin:0 0 24px;font-size:15px;line-height:1.6;color:rgba(29,31,32,.72)}
.v3-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.v3-field{display:grid;gap:7px;min-width:0}
.v3-field-wide{grid-column:1/-1}
.v3-field label{font-family:var(--font-heading);font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:rgba(29,31,32,.7)}
.v3-field abbr{color:#0b4fd4;text-decoration:none}
.v3-field input,.v3-field select,.v3-field textarea{width:100%;box-sizing:border-box;min-height:48px;border:1px solid rgba(29,31,32,.25);border-radius:0;background:#fff;color:var(--color-text);font:16px/1.45 var(--font-body);padding:11px 12px}
.v3-field textarea{resize:vertical;min-height:116px}
.v3-field input[type=file]{padding:10px;min-height:48px}
.v3-field small{font-size:13px;line-height:1.5;color:rgba(29,31,32,.62)}
.v3-field.has-error input,.v3-field.has-error select,.v3-field.has-error textarea{border-color:#b3261e;box-shadow:0 0 0 1px #b3261e}
.v3-form-error-summary{border:1px solid #b3261e;border-left:4px solid #b3261e;background:#fdeceb;padding:14px 18px;margin-bottom:20px;color:#8c1d18}
.v3-form-error-summary h2{font-size:16px;margin:0 0 4px}.v3-form-error-summary p{margin:0}
.v3-contact-advanced{margin-top:26px;border:1px solid var(--color-divider);background:#fafbfc}
.v3-contact-advanced summary{cursor:pointer;min-height:48px;box-sizing:border-box;padding:15px 18px;font-family:var(--font-heading);font-size:15px;color:#0b4fd4}
.v3-contact-advanced[open] summary{border-bottom:1px solid var(--color-divider)}
.v3-contact-advanced-inner{padding:20px}
.v3-contact-consent{display:grid;grid-template-columns:22px minmax(0,1fr);gap:11px;align-items:start;margin-top:24px}
.v3-contact-consent input{width:20px;height:20px;margin:2px 0 0;accent-color:#0b4fd4}
.v3-contact-consent label{font-size:14.5px;line-height:1.55;color:rgba(29,31,32,.8)}
.v3-contact-submit{margin-top:24px}.v3-contact-submit button{min-height:48px;padding:14px 24px;font-size:12.5px;letter-spacing:.09em;text-transform:uppercase;color:#fff;cursor:pointer}
.v3-form-development-notice,.v3-form-submit-notice{margin:20px 0 0;padding:13px 15px;font-size:14px;line-height:1.55;background:#e8f0fe;border-left:3px solid #0b4fd4;color:#0a1c33}
.v3-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.v3-field-error{margin:6px 0 0!important;color:#8c1d18!important;font-size:13px!important;line-height:1.45!important}
.v3-form-error-summary:not([hidden]){display:block;background:#fdeceb;border-left:4px solid #8c1d18;padding:14px 18px;color:#8c1d18}
.v3-form-error-summary h2{margin:0 0 4px;font-size:18px}.v3-form-error-summary p{margin:0}.v3-form-error-summary ul{margin:10px 0 0;padding-left:20px}.v3-form-error-summary a{color:#8c1d18;text-decoration:underline}
.v3-contact-form [aria-invalid="true"]{border-color:#8c1d18!important;box-shadow:0 0 0 1px #8c1d18}
.v3-contact-support{background:#fff;border:1px solid var(--color-divider);padding:24px}
.v3-contact-support h2{margin:0 0 22px;font-size:22px}.v3-contact-support h3{margin:20px 0 7px;font-size:16px}.v3-contact-support p{margin:0;font-size:14.5px;line-height:1.65;color:rgba(29,31,32,.72)}
@media(max-width:900px){.v3-contact-layout{grid-template-columns:1fr}.v3-contact-cards{grid-template-columns:1fr}.v3-contact-support{order:2}}
@media(max-width:560px){.v3-contact-container{width:min(100% - 32px,1320px)}.v3-form-grid{grid-template-columns:1fr}.v3-field-wide{grid-column:auto}.v3-contact-form{padding:22px 18px}.v3-contact-advanced-inner{padding:18px 14px}}
