/* Company launch v3.2: shared editorial scale and destination pages. */
:root{--h1:clamp(2.35rem,4.8vw,4.25rem);--h2:clamp(1.75rem,3.3vw,2.9rem);--label:.75rem;--copy-width:68ch;--section-space:clamp(48px,6vw,80px);--focus:#24477f;--r:10px;--r-sm:6px;--muted:#5e5b54;--motion-fast:180ms;--motion-enter:320ms}
body{line-height:1.55}p{max-width:var(--copy-width)}.section{padding-block:var(--section-space)}
.page-hero,.hero{padding-block:clamp(52px,7vw,92px) clamp(40px,5vw,64px)}
.page-hero h1,.hero h1{font-size:var(--h1);line-height:1.06;letter-spacing:-.045em;max-width:22ch}
.page-hero p,.hero p{line-height:1.65}.section-heading h2,.narrow-copy h2,.guided-band h2,.split-feature h2{line-height:1.12}
.service-choice-copy p,.home-service-row p{font-size:.94rem;line-height:1.65}.service-choice-copy h3{line-height:1.3}
.btn{font-size:.875rem;font-weight:700;min-height:44px;border-radius:var(--r-sm)}.btn.small{font-size:.8125rem;min-height:44px}.btn:hover{transform:none}
.text-action,.text-link{min-height:44px;align-items:center;display:inline-flex;font-size:.875rem;border-bottom:0;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
a{transition:color var(--motion-fast),text-decoration-color var(--motion-fast)}
h3 a{text-decoration:underline;text-decoration-color:transparent;text-underline-offset:5px;text-decoration-thickness:1px}h3 a:hover,h3 a:focus-visible{text-decoration-color:currentColor;color:var(--accent-strong)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--focus);outline-offset:4px;border-radius:3px}
.searchbox:focus-within{outline:2px solid var(--focus);outline-offset:3px}.searchbox input:focus-visible{outline:0}
.service-choice-actions,.software-row-actions{gap:12px}.software-row-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;max-width:260px}.software-row-copy>p{font-size:1rem;line-height:1.65}.software-family-chip{min-height:44px;border-radius:var(--r-sm);font-size:.8125rem}.catalogue-more{margin-top:var(--s6)}
.result-count{font-size:.875rem}.software-toolbar{position:relative}.software-categories summary{min-height:44px}.software-family-strip{gap:8px}
.breadcrumbs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:var(--s5);font-size:.875rem}.breadcrumbs a{min-height:32px;display:inline-flex;align-items:center}
.detail-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:clamp(40px,7vw,100px);align-items:end}.detail-hero h1{max-width:23ch}.detail-hero .detail-lead{font-size:var(--body-lg);color:var(--ink);max-width:60ch}.detail-hero .detail-intro{margin-top:var(--s5);font-size:1rem;color:var(--muted);max-width:var(--copy-width)}
.detail-index{border-top:1px solid var(--line);padding-top:var(--s5)}.detail-index>a{display:block;padding-block:12px;border-bottom:1px solid var(--line);font-size:.875rem}.detail-index p{font-size:.875rem;color:var(--muted);margin-top:var(--s5)}
.detail-section{padding-block:var(--section-space);border-bottom:1px solid var(--line);scroll-margin-top:100px}.detail-grid{display:grid;grid-template-columns:minmax(220px,.35fr) minmax(0,.65fr);gap:clamp(32px,6vw,80px)}.detail-section-heading h2{font-size:clamp(1.65rem,2.6vw,2.3rem);line-height:1.2;letter-spacing:-.03em;margin:12px 0 0;max-width:18ch}.detail-prose>p{font-size:1.0625rem;margin:0;color:#45433e;line-height:1.8;max-width:var(--copy-width)}
.related-label{font-size:1rem;line-height:1.3;margin:0 0 18px}.related-label:not(:first-child){margin-top:var(--s7)}.related-destination{padding-block:20px;border-top:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:start}.related-destination h3{font-size:1.125rem;line-height:1.4;margin:0 0 8px}.related-destination p{font-size:.9375rem;color:var(--muted);margin:0}.related-destination .btn{font-size:.8125rem;padding-inline:12px}.related-destination h3 span{font-size:.875rem}.detail-next{margin-top:var(--s7);border-top:2px solid var(--ink);padding-top:var(--s6)}.detail-next h3{font-size:1.5rem;line-height:1.3;letter-spacing:-.03em;margin:0 0 12px}.detail-next p{color:var(--muted);font-size:1rem}.project-item a,.brief-item a{text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:4px}.project-item button,.brief-item button{min-height:44px;padding-inline:8px;font-size:.875rem}.drawer-empty{font-size:.9375rem}.project-dialog-content section p{font-size:1rem}.project-context-edit{margin-block:12px 0}.project-dock{font-size:.875rem}.project-dock b{font-size:.8125rem}
.contact-selection-row{display:flex;gap:16px;justify-content:space-between;align-items:center;padding-block:8px;border-bottom:1px solid var(--line)}.contact-selection-row a{font-size:.9375rem;line-height:1.4;text-decoration:underline;text-underline-offset:3px}.contact-selection-row button{min-height:44px;min-width:44px;font-size:.875rem;background:transparent;border:1px solid var(--line);border-radius:var(--r-sm);padding:6px 10px}.contact-selection-groups>div>span{font-size:.8125rem}.form-note,.form-status{font-size:.875rem!important}.form-status{min-height:1.5em;line-height:1.6}.field{font-size:.9375rem}.field input,.field textarea,.field select{font-size:1rem;min-height:44px}.guide-rec p{font-size:.9375rem}.guide-goals button{min-height:54px;font-size:1rem}.guide-step-actions{flex-wrap:wrap}.guide-error{color:#8b2822;font-size:1rem}
.site-footer p,.site-footer a,.footer-bottom{font-size:.875rem}.site-footer a{min-height:32px}.site-footer{padding-bottom:calc(36px + env(safe-area-inset-bottom))}.has-project .site-footer{padding-bottom:calc(112px + env(safe-area-inset-bottom))}
.final-cta .btn.primary{background:var(--paper)!important;color:var(--ink)!important;border-color:var(--paper)!important}.final-cta .btn.secondary{color:var(--paper)!important;border-color:#77766e!important}.final-cta .btn.secondary:hover{background:#272822}.final-cta .eyebrow{color:#bdb9ad}
.site-footer .brand span{color:#bdb9ad}
.project-dialog-content>.project-context-edit,.project-dialog-content>.danger-link{display:flex;width:max-content;margin-block:12px}
.reveal.is-visible{animation:sheet-in 420ms var(--ease)}.software-row-v3{animation:sheet-in 220ms var(--ease)}
@keyframes sheet-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes backdrop-in{from{opacity:0}to{opacity:1}}
.project-dialog[open],.guide-dialog[open]{animation:sheet-in var(--motion-enter) var(--ease)}.project-dialog[open]::backdrop,.guide-dialog[open]::backdrop{animation:backdrop-in var(--motion-fast) ease-out}.guide-step:not([hidden]){animation:sheet-in 220ms var(--ease)}
.mobile-toggle span{transition:transform var(--motion-fast)}.mobile-toggle[aria-expanded=true] span:first-child{transform:translateY(2.5px) rotate(45deg)}.mobile-toggle[aria-expanded=true] span:last-child{transform:translateY(-2.5px) rotate(-45deg)}.btn.added{transition:background var(--motion-fast),border-color var(--motion-fast),color var(--motion-fast)}
.no-scroll main,.no-scroll .site-footer,.no-scroll .project-dock{pointer-events:none}
@media(max-width:1000px){.detail-hero-grid{grid-template-columns:1fr;gap:32px}.detail-index{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center}.detail-index .eyebrow{width:100%}.detail-index>a{font-size:.8125rem;padding-block:8px}.detail-index p{width:100%;margin:8px 0 0}.detail-grid{grid-template-columns:minmax(180px,.32fr) minmax(0,.68fr);gap:32px}}
@media(max-width:700px){.detail-grid{grid-template-columns:1fr;gap:24px}.detail-section-heading h2{max-width:none}.related-destination{grid-template-columns:1fr;gap:14px}.related-destination .btn{justify-self:start}.software-row-actions{justify-content:flex-start;max-width:none}.page-hero h1,.hero h1{font-size:clamp(2.2rem,8.5vw,3.25rem)}.detail-section{scroll-margin-top:84px}.detail-prose>p{font-size:1rem;line-height:1.75}.detail-index>a{font-size:.875rem}.project-dialog{align-self:end;margin:auto auto 0;width:100%;max-width:100%;border-radius:12px 12px 0 0;max-height:88dvh}.project-dialog .dialog-shell{max-height:88dvh}.dialog-shell>footer{padding-bottom:calc(18px + env(safe-area-inset-bottom))}.home-hero-grid{gap:32px}.section-heading h2,.narrow-copy h2{line-height:1.15}}
@media(max-width:430px){.service-choice-actions{display:flex;justify-content:flex-start}.service-choice-actions>.text-action,.service-choice-actions>.btn{width:auto}.detail-hero .actions>.btn{width:100%}.form-grid{grid-template-columns:1fr}.detail-next .actions>.text-action{width:100%;justify-content:center}.contact-selection-row{gap:10px}.contact-selection-row a{font-size:.875rem}.guide-step-actions .btn{flex:1}.dialog-shell>header h2{font-size:1.5rem}.icon-close{flex-shrink:0;min-width:44px;min-height:44px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1!important;transform:none!important}}
