/* Clear page navigation and progressive desktop cursor enhancement. */
.site-nav>a.nav-login { display:inline-flex;align-items:center;gap:7px;border:1px solid var(--glass-edge,var(--line))!important;border-radius:9px;background:var(--glass,var(--surface-soft));padding:9px 12px!important;color:var(--text)!important; }
.site-nav>a.nav-login svg { width:13px;height:13px;flex-shrink:0; }
.site-nav>a.nav-login:hover { border-color:var(--accent)!important; }
.site-nav>a[aria-current="page"]:not(.nav-login) { color:var(--accent)!important; }
.site-header .site-nav { gap:6px; }
.site-header .site-nav>a { padding-inline:9px; }
.site-header .nav-shell { position:relative;z-index:1;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;gap:18px; }
.site-header .brand { order:0;flex-shrink:0; }
.site-header .nav-wrap { order:1;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-end;gap:14px;width:auto!important;min-width:0; }
.site-header .nav-actions { display:flex!important;align-items:center!important;gap:7px;flex-shrink:0; }
.dashboard-link { display:inline-flex;justify-content:center;align-items:center;width:40px;height:40px;min-width:40px;border:1px solid var(--glass-edge,var(--line));border-radius:11px;background:var(--glass,var(--surface-soft));color:var(--text);text-decoration:none;transition:border-color .2s,background .2s,transform .2s; }
.dashboard-link svg { width:17px;height:17px; }
.dashboard-link:hover { border-color:var(--accent);background:var(--accent-soft);transform:translateY(-1px); }
.dashboard-link:focus-visible { outline:2px solid var(--accent);outline-offset:4px; }
.global-site-actions:empty { display:none!important; }
.mobile-nav-tools { display:flex;align-items:center;gap:12px;padding:10px 8px 3px; }
.header-atmosphere { position:absolute;inset:0;overflow:hidden;border-radius:inherit;pointer-events:none;z-index:0; }
.header-light { display:block;position:absolute;inset:0;background:linear-gradient(105deg,transparent 20%,color-mix(in srgb,var(--accent) 12%,transparent) 47%,#ffffff08 53%,transparent 78%);transform:translateX(-85%);animation:header-atmosphere 14s ease-in-out infinite; }
@keyframes header-atmosphere { 0%,100% {transform:translateX(-85%);opacity:.35;} 45%,55% {transform:translateX(85%);opacity:.8;} }
body[data-motion="paused"] .header-light { animation:none;opacity:.2;transform:none; }
.page-intro { padding:64px 0 24px; }
.page-intro h1 { max-width:900px;font-size:clamp(38px,5.5vw,68px);line-height:1.08;letter-spacing:-.05em;margin:18px 0 23px; }
.page-intro>p:not(.eyebrow) { color:var(--muted);max-width:720px;font-size:17px;line-height:1.85; }
.page-intro .hero-actions { margin-top:25px; }
.page-contact #contact { padding-top:44px; }
.page-about #about { padding-top:35px; }
.page-services #software { padding-top:30px; }
.page-process .delivery-story { padding-top:26px; }
.page-intro-links { display:flex;gap:20px;flex-wrap:wrap;color:var(--accent);font-size:13px;margin-top:26px; }
.page-intro-links a { text-decoration:none; }
.page-home #case-studies { padding-top:45px; }
.writing-hero { padding-top:48px!important;padding-bottom:28px!important; }
.writing-hero h1 { font-size:clamp(34px,4.4vw,56px)!important;line-height:1.12!important;max-width:900px; }
.writing-hero>p:not(.eyebrow) { font-size:15px;line-height:1.8;max-width:740px; }
.writing-hero .hero-actions { margin-top:22px;gap:13px;display:flex!important;flex-wrap:wrap;flex-direction:row!important;align-items:center;animation:none!important;opacity:1!important;transform:none!important; }
.writing-hero .hero-actions .button { width:auto!important;min-height:42px;padding:10px 17px!important;font-size:12px!important; }
.writing-hero .hero-actions .button-secondary { background:transparent!important;border-color:transparent!important; }
.writing-library { padding-top:10px!important; }
.writing-cards { align-items:stretch; }
.writing-card { display:flex;flex-direction:column; }
.writing-card>.text-link { margin-top:auto;padding-top:15px; }
.home-collection-link { display:flex;justify-content:center;margin:30px 0 0; }
.footer-links { flex-wrap:wrap;gap:14px 19px; }
.cursor-preference { background:transparent;color:var(--muted);border:1px solid var(--line);border-radius:7px;min-height:36px;padding:7px 10px;font:11px/1.4 var(--body-font,system-ui);cursor:pointer; }
.cursor-preference:hover { border-color:var(--accent);color:var(--text); }
.cursor-tracker { position:fixed;left:0;top:0;width:0;height:0;pointer-events:none;z-index:2147483646;opacity:0;transition:opacity .16s; }
.cursor-tracker.is-visible { opacity:1; }
.cursor-ring { position:absolute;left:-15px;top:-15px;width:30px;height:30px;border:1px solid color-mix(in srgb,var(--accent) 55%,transparent);border-radius:50%;background:color-mix(in srgb,var(--accent) 4%,transparent);box-shadow:0 0 16px color-mix(in srgb,var(--accent) 8%,transparent);transition:width .18s,height .18s,left .18s,top .18s,background .18s,border-color .18s; }
.cursor-tracker.is-hovering .cursor-ring { width:42px;height:42px;left:-21px;top:-21px;background:color-mix(in srgb,var(--accent) 9%,transparent);border-color:color-mix(in srgb,var(--accent) 75%,transparent); }
.cursor-tracker.is-locating .cursor-ring { width:64px;height:64px;left:-32px;top:-32px; }
@media(hover:hover) and (pointer:fine) {
  html[data-custom-cursor="on"] { --cursor-arrow:url('/images/cursor-arrow.svg?v=20261011-16') 4 2; }
  html[data-custom-cursor="on"].cursor-locating { --cursor-arrow:url('/images/cursor-arrow-large.svg?v=20261011-16') 7 3; }
  html[data-custom-cursor="on"] :is(body,a,button,summary,label,select) { cursor:var(--cursor-arrow),auto!important; }
  html[data-custom-cursor="on"] :is(input:not([type=button]):not([type=submit]):not([type=checkbox]):not([type=radio]):not([type=range]),textarea,[contenteditable="true"]) { cursor:text!important; }
  html[data-custom-cursor="on"] :is(button:disabled,input:disabled) { cursor:not-allowed!important; }
}
@media(max-width:1050px) { .site-header .site-nav>a { padding-inline:7px; } }
@media(min-width:961px) { .site-header .site-nav { display:flex!important;flex-direction:row!important;align-items:center!important;position:static!important;width:auto!important;height:auto!important;min-height:0!important;max-height:none!important;padding:0!important;overflow:visible!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:none!important; } }
@media(max-width:960px) {
  .dashboard-link { width:44px;height:44px;min-width:44px; }
  .site-header .menu-toggle { display:grid!important; }
  .site-header,.site-header .nav-shell { overflow:visible!important; }
  .site-header .site-nav {
    position:fixed!important;opacity:0;visibility:hidden;pointer-events:none;
    display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;
    top:78px!important;bottom:auto!important;inset-inline:16px!important;width:calc(100% - 32px)!important;
    height:auto!important;max-height:calc(100dvh - 110px)!important;overflow-y:auto!important;gap:3px!important;
    padding:14px!important;background:var(--surface)!important;border:1px solid var(--line)!important;border-radius:16px!important;
  }
  .site-header .site-nav.is-open { opacity:1!important;visibility:visible!important;pointer-events:auto!important; }
  .site-header .site-nav>a { min-height:44px;width:100%;padding:11px 14px!important;display:flex;align-items:center;flex-shrink:0; }
  .site-header .site-nav .global-site-actions { justify-content:flex-start; }
  .site-nav>a.nav-login { justify-content:center;margin-top:8px;min-height:44px; }
  .page-intro { padding-top:44px; }
  .page-intro>p:not(.eyebrow) { font-size:15px; }
  .page-contact #contact { padding-top:25px; }
  .page-home #case-studies { padding-top:32px; }
  .writing-hero { padding-top:42px!important; }
  .writing-hero h1 { font-size:34px!important; }
  .writing-hero .hero-actions .button { padding-inline:10px!important;font-size:11px!important; }
}
@media(hover:none),(pointer:coarse) { .cursor-preference,.cursor-tracker { display:none!important; } }
@media(prefers-reduced-motion:reduce) { .cursor-tracker { display:none!important; } .header-light { animation:none;opacity:.15;transform:none; } }
@media(forced-colors:active) { .cursor-tracker { display:none!important; } html[data-custom-cursor="on"] :is(body,a,button,summary,label,select) { cursor:auto!important; } }
@media print { .cursor-tracker,.cursor-preference,.nav-login { display:none!important; } }

/* Compact home previews lead into the full pages. */
.page-home .home-services-preview { padding-top:65px;padding-bottom:32px; }
.home-preview-heading { display:flex;align-items:flex-end;justify-content:space-between;gap:26px;margin-bottom:32px; }
.home-preview-heading h2,.home-notes-grid h2,.home-contact-band h2 { font-size:clamp(30px,3.4vw,44px);line-height:1.15;letter-spacing:-.045em;margin:12px 0 0; }
.home-text-link { display:inline-flex;align-items:center;justify-content:space-between;gap:18px;color:var(--text);font-size:13px;font-weight:600;text-decoration:none; }
.home-text-link>span { color:var(--accent);transition:transform .2s; }
.home-text-link:hover { color:var(--accent); }
.home-text-link:hover>span { transform:translate(2px,-2px); }
.home-service-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px; }
.home-service-card { position:relative;display:flex;flex-direction:column;padding:30px 27px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(145deg,color-mix(in srgb,var(--surface) 90%,transparent),color-mix(in srgb,var(--surface-soft) 58%,transparent));backdrop-filter:blur(14px);transition:transform .3s,border-color .3s; }
.home-service-card:hover { transform:translateY(-4px);border-color:color-mix(in srgb,var(--accent) 45%,var(--line)); }
.home-service-icon { display:flex;align-items:center;justify-content:center;width:46px;height:46px;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--line));border-radius:13px;background:color-mix(in srgb,var(--accent) 7%,transparent);color:var(--accent);margin-bottom:27px; }
.home-service-icon svg { width:27px;height:27px;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round; }
.home-preview-label,.home-article-meta { font:10px/1.5 var(--mono,ui-monospace,monospace);letter-spacing:.09em;color:var(--muted);text-transform:uppercase; }
.home-preview-label { margin:0 0 10px; }
.home-service-card h3 { font-size:21px;line-height:1.35;letter-spacing:-.035em;margin:0 0 14px; }
.home-service-card>p:not(.home-preview-label) { color:var(--muted);font-size:14px;line-height:1.8;margin:0 0 23px; }
.home-stack-tags { display:flex;flex-wrap:wrap;gap:7px;margin-top:auto;margin-bottom:26px; }
.home-stack-tags span { font-size:10px;color:var(--muted);border:1px solid var(--line);border-radius:6px;padding:4px 8px; }
.home-service-card>.home-text-link { border-top:1px solid var(--line);padding-top:19px;font-size:12px; }
.page-home .home-notes-preview { padding-top:48px;padding-bottom:32px; }
.home-notes-grid { display:grid;grid-template-columns:1.15fr 1fr;gap:24px; }
.home-writing-panel,.home-about-panel { display:flex;flex-direction:column;padding:39px;border:1px solid var(--line);border-radius:24px;min-width:0; }
.home-writing-panel { background:var(--surface); }
.home-about-panel { background:radial-gradient(ellipse at 90% 0%,color-mix(in srgb,var(--accent) 7%,transparent),transparent 65%),color-mix(in srgb,var(--surface-soft) 45%,transparent); }
.home-panel-description { max-width:460px;color:var(--muted);font-size:14px;line-height:1.8;margin:20px 0 0; }
.home-article-list { margin:22px 0 28px; }
.home-article-list>a { display:block;text-decoration:none;color:var(--text);padding:16px 0;border-bottom:1px solid var(--line); }
.home-article-title { display:flex;align-items:center;justify-content:space-between;gap:18px;font-size:15px;line-height:1.5;margin-top:6px; }
.home-article-title i { font-style:normal;color:var(--accent); }
.home-article-list>a:hover .home-article-title { color:var(--accent); }
.home-notes-grid .button { width:max-content;max-width:100%;margin-top:auto; }
.home-about-monogram { display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:33px; }
.home-about-monogram img { width:53px;height:53px; }
.home-about-monogram span { font:9px/1.5 var(--mono,ui-monospace,monospace);letter-spacing:.09em;color:var(--muted); }
.home-about-facts { margin:25px 0 30px; }
.home-about-facts>div { padding:13px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:75px 1fr;gap:12px; }
.home-about-facts dt { font-size:11px;color:var(--muted);padding-top:3px; }
.home-about-facts dd { margin:0;font-size:14px;line-height:1.7; }
.home-about-facts dd span { display:block;font-size:11px;color:var(--muted); }
.page-home .home-contact-preview { padding-top:40px;padding-bottom:68px; }
.home-contact-band { display:flex;align-items:center;justify-content:space-between;gap:35px;padding:43px;border:1px solid color-mix(in srgb,var(--accent) 26%,var(--line));border-radius:24px;background:linear-gradient(110deg,color-mix(in srgb,var(--accent) 6%,var(--surface)),var(--surface)); }
.home-contact-band p:not(.eyebrow) { color:var(--muted);font-size:14px;max-width:520px;margin-bottom:0; }
.home-contact-actions { display:flex;flex-direction:column;align-items:center;gap:19px;flex-shrink:0; }
@media(max-width:960px) { .home-service-grid { gap:12px; } .home-service-card { padding:24px 20px; } .home-service-card h3 { font-size:19px; } .home-notes-grid { gap:18px; } .home-writing-panel,.home-about-panel { padding:28px; } .home-contact-band { padding:30px; } }
@media(max-width:760px) { .home-preview-heading { align-items:flex-start;flex-direction:column;gap:20px; } .home-service-grid,.home-notes-grid { grid-template-columns:1fr; } .home-service-card { padding:26px; } .home-service-icon { margin-bottom:20px; } .home-service-card h3 { font-size:22px; } .page-home .home-services-preview { padding-top:43px; } .page-home .home-notes-preview { padding-top:24px; } .home-contact-band { flex-direction:column;align-items:flex-start;gap:25px;padding:28px; } .home-contact-actions { align-items:flex-start;width:100%; } .home-contact-actions .button { width:100%; } .home-contact-actions .home-text-link { align-self:center; } .page-home .home-contact-preview { padding-top:24px;padding-bottom:45px; } }
@media(prefers-reduced-motion:reduce) { .home-service-card,.home-text-link>span { transition:none; } .home-service-card:hover,.home-text-link:hover>span { transform:none; } }
