/* Site-wide UX layer: editorial serif accents, search palette, mobile dock, card spotlight. Loaded after theme.css. */

/* Editorial accent: italic serif for emphasised words in headings */
.unified-theme :is(h1,h2) em,.unified-theme .footer-cta h2 em{font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-weight:400;letter-spacing:-.01em;background:none;-webkit-text-fill-color:currentColor;animation:none;color:var(--mint)}
.unified-theme :is(h1,h2) em .w{padding-right:.08em;margin-right:-.08em}

/* Header search trigger */
.nav-search{display:inline-flex;align-items:center;gap:9px;height:40px;padding:0 8px 0 13px;border-radius:999px;border:1px solid #ffffff26;background:#ffffff08;color:#d9e2df;font-size:13px;font-weight:500;cursor:pointer;transition:background .3s,border-color .3s,color .3s}
.nav-search:hover{background:#ffffff14;border-color:#ffffff55;color:#fff}
.nav-search:focus-visible{outline:2px solid var(--mint,#b8f573);outline-offset:2px}
.nav-search svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.nav-search kbd{font:600 10.5px 'DM Sans',sans-serif;padding:4px 7px;border-radius:7px;background:#ffffff12;border:1px solid #ffffff1f;color:#aebbb9}
@media (max-width:1180px){.nav-search-label{display:none}.nav-search{padding:0 8px 0 11px}}
@media (max-width:900px){.nav-search{width:44px;height:44px;padding:0;justify-content:center}.nav-search kbd{display:none}.menu-open .nav-search{opacity:0;pointer-events:none}}

/* Search palette */
.cmdk{width:min(640px,calc(100vw - 24px));max-height:min(620px,calc(100vh - 80px));margin:12vh auto auto;padding:0;border:0;background:transparent;color:#eef3ef;overflow:visible}
.cmdk::backdrop{background:#03070acc;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.cmdk[open]{animation:cmdk-in .42s cubic-bezier(.19,1,.22,1)}
.cmdk[open]::backdrop{animation:cmdk-fade .3s ease}
.cmdk-box{display:flex;flex-direction:column;max-height:inherit;border-radius:22px;border:1px solid #ffffff24;background:linear-gradient(170deg,#18252cf7,#0e171cf7);box-shadow:0 40px 120px -20px #000,inset 0 1px 0 #ffffff14;overflow:hidden}
.cmdk-field{display:flex;align-items:center;gap:12px;padding:16px 16px 16px 20px;border-bottom:1px solid #ffffff17}
.cmdk-field svg{width:20px;height:20px;flex:none;fill:none;stroke:#b8f573;stroke-width:2;stroke-linecap:round}
.cmdk-field input{flex:1;min-width:0;border:0;background:transparent;color:#fff;font:500 17px 'DM Sans',sans-serif;outline:none;padding:6px 0}
.cmdk-field input::placeholder{color:#8396a0}
.cmdk-field input::-webkit-search-cancel-button{display:none}
.cmdk-close{flex:none;font:600 11px 'DM Sans',sans-serif;padding:6px 9px;border-radius:8px;border:1px solid #ffffff24;background:#ffffff0d;color:#b6c3c3;cursor:pointer}
.cmdk-list{overflow-y:auto;padding:8px;overscroll-behavior:contain}
.cmdk-group{padding:12px 12px 6px;font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#7f949b}
.cmdk-item{display:flex;align-items:center;gap:14px;padding:11px 12px;border-radius:13px;color:#e6ece8;text-decoration:none;scroll-margin:8px}
.cmdk-item[aria-selected=true]{background:#b8f57317;box-shadow:inset 0 0 0 1px #b8f57340}
.cmdk-ico{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:10px;background:#ffffff0d;border:1px solid #ffffff17;color:#b8f573;font-weight:700;font-size:14px}
.cmdk-item[aria-selected=true] .cmdk-ico{background:#b8f573;color:#142015;border-color:#b8f573}
.cmdk-text{flex:1;min-width:0}
.cmdk-text b{display:block;font-weight:600;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cmdk-text small{display:block;font-size:12.5px;color:#91a3a9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
.cmdk-enter{opacity:0;font-size:15px;color:#b8f573;transition:opacity .2s}
.cmdk-item[aria-selected=true] .cmdk-enter{opacity:1}
.cmdk-empty{padding:28px 16px;text-align:center;color:#8fa1a7;font-size:14px}
.cmdk-foot{display:flex;gap:18px;padding:11px 18px;border-top:1px solid #ffffff14;font-size:11.5px;color:#7d9097}
.cmdk-foot kbd{font:600 10.5px 'DM Sans',sans-serif;padding:2px 6px;margin-right:3px;border-radius:5px;border:1px solid #ffffff22;background:#ffffff0d;color:#b9c5c4}
.cmdk-open,.cmdk-open body{overflow:hidden}
@media (max-width:600px){.cmdk{margin:10px auto auto;max-height:calc(100vh - 20px)}.cmdk-foot{display:none}.cmdk-field input{font-size:16px}}
@keyframes cmdk-in{from{opacity:0;transform:translateY(-10px) scale(.98)}to{opacity:1;transform:none}}
@keyframes cmdk-fade{from{opacity:0}}
.motion-paused .cmdk[open],.motion-paused .cmdk[open]::backdrop{animation:none}

/* Mobile quick-action dock */
.dock{display:none}
@media (max-width:760px){
  .dock{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:95;display:grid;grid-template-columns:1fr 1.25fr 1fr;align-items:center;gap:6px;padding:6px;border-radius:22px;border:1px solid #ffffff22;background:#0d171ceb;backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%);box-shadow:0 20px 50px -10px #000c;transform:translateY(140%);opacity:0;transition:transform .55s cubic-bezier(.19,1,.22,1),opacity .35s;pointer-events:none}
  .dock.is-shown{transform:none;opacity:1;pointer-events:auto}
  .dock a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:52px;border-radius:16px;font-size:11px;font-weight:600;color:#d4dedb;text-decoration:none}
  .dock a:active{background:#ffffff10}
  .dock svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
  .dock a[href^="https://wa.me"] svg{fill:currentColor;stroke:none}
  .dock .dock-primary{flex-direction:row;gap:8px;background:var(--mint,#b8f573);color:#142015;font-size:14px}
  .dock .dock-primary i{font-style:normal}
  .has-dock .to-top{bottom:calc(92px + env(safe-area-inset-bottom,0px))}
  .has-dock footer{padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))}
  .motion-paused .dock{transition:none}
}

/* Card spotlight */
.unified-theme .spot:hover{background-image:radial-gradient(380px circle at var(--sx,50%) var(--sy,50%),#b8f57314,transparent 62%)}

/* Header: keep nav labels on one line now that search sits in the header */
.nav nav a{white-space:nowrap}
@media (max-width:1360px){.nav-search-label{display:none}.nav-search{padding:0 8px 0 11px}}

/* Interior page heroes: same cinematic language as the homepage */
.unified-theme .page-hero{background:#0a1216}
.unified-theme .page-hero::before{content:'';position:absolute;inset:-25%;z-index:-1;pointer-events:none;background:radial-gradient(38% 46% at 82% 22%,#b8f5731c,transparent 70%),radial-gradient(34% 44% at 8% 92%,#4fd1c014,transparent 72%),radial-gradient(30% 40% at 50% 0%,#ffffff08,transparent 70%)}
.motion .unified-theme .page-hero::before,.unified-theme.motion .page-hero::before{animation:ux-aurora 22s ease-in-out infinite alternate}
.unified-theme .page-hero::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,#b8f57359 30%,#ffffff26 70%,transparent)}
.unified-theme .page-title{font-size:clamp(46px,6vw,90px);letter-spacing:-.062em;line-height:1}
.unified-theme .crumbs{display:inline-flex;padding:7px 14px;border-radius:99px;border:1px solid #ffffff1c;background:#ffffff08;backdrop-filter:blur(8px)}
.unified-theme .page-hero .art-frame{border-radius:26px;overflow:hidden;box-shadow:0 60px 120px -60px #000,0 0 0 1px #ffffff1a}
.unified-theme .page-hero .art-frame::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,#090f1359,transparent 45%),linear-gradient(135deg,#b8f57314,transparent 40%)}
.unified-theme .page-hero .art-frame img{max-height:430px;transform-origin:60% 40%}
.unified-theme.motion .page-hero .art-frame img{animation:ux-kenburns 16s ease-in-out infinite alternate}
.unified-theme .section-heading h2,.unified-theme .center>h2{font-size:clamp(36px,4.4vw,62px);line-height:1.04;letter-spacing:-.055em}
.unified-theme :is(.service,.promise,.pathway-card,.route-card,.level-card){transition:border-color .4s,transform .6s cubic-bezier(.19,1,.22,1),box-shadow .5s,background-color .4s}
@keyframes ux-aurora{0%{transform:translate3d(0,0,0) rotate(0)}100%{transform:translate3d(-4%,3%,0) rotate(6deg)}}
@keyframes ux-kenburns{from{transform:scale(1)}to{transform:scale(1.08) translate(-1.5%,-1%)}}
.motion-paused .page-hero::before,.motion-paused .page-hero .art-frame img{animation:none!important}

/* Ink text links: theme.css re-adds the underline gradients after experience.css cleared them,
   which dropped their size and painted the whole link solid. Restore the animated underline everywhere. */
.unified-theme .text-link.ink{background-size:0 1px,100% 1px;background-position:0 100%,0 100%;background-repeat:no-repeat;text-decoration:none}
.unified-theme .text-link.ink:hover{background-size:100% 1px,100% 1px}
.unified-theme .lead .text-link.ink{display:inline;padding-bottom:2px;font-size:inherit}
