/* Compact PASTOR sections; the story describes our process, not a fabricated client. */
[id]{scroll-margin-top:90px}.block .eyebrow{color:var(--violet);margin-bottom:12px}.problem-band{padding-block:48px 24px}.story-band,.proof-band{padding-block:40px;background:#e9f1f8;margin-top:32px}.narrative{display:grid;grid-template-columns:1fr 1.15fr;gap:48px}.narrative p+p{margin-top:16px}.narrative>div>p:not(.eyebrow){color:var(--muted)}.proof-tools{display:grid;grid-template-columns:1fr 1fr;gap:36px}.proof-tools h3{margin-bottom:10px}.proof-tools p{color:var(--muted);margin-bottom:16px}.proof-tools a,.offer-row>div>a:not(.btn),.text-cta{font-weight:600;text-decoration:underline;text-underline-offset:4px}.service-details{border-bottom:1px solid var(--line);padding:20px 0}.service-details summary{font-weight:600;cursor:pointer}.service-details[open] summary{margin-bottom:18px}.detail-list{display:grid;gap:22px}.detail-item h3{font-size:18px}.detail-item p{color:var(--muted);margin-top:6px}.offer-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:40px}.offer-row p{max-width:710px;color:var(--muted);margin-bottom:16px}.offer-row .note{max-width:220px;margin-bottom:0}.closing-actions{justify-content:center;align-items:center}.hero .small{margin-top:18px;color:var(--on-navy-muted)}
@media(max-width:760px){.narrative,.proof-tools,.offer-row{grid-template-columns:1fr;gap:24px}.proof-tools article+article{border-top:1px solid var(--line);padding-top:24px}.offer-row .note{max-width:none}}
/* The site's fonts, latin and trimmed to the weights used, served from the site. Google's own file is the fallback
   wherever the site's copy is refused. No Google stylesheet: it was the request holding back the first paint. */
@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:700 800;font-display:swap;src:url(fonts/bricolage-grotesque.woff2) format('woff2'),url(https://fonts.gstatic.com/s/bricolagegrotesque/v9/3y9K6as8bTXq_nANBjzKo3IeZx8z6up5BeSl9D4dj_x9PpZBMlGIInE.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Instrument Sans';font-style:normal;font-weight:400 600;font-display:swap;src:url(fonts/instrument-sans.woff2) format('woff2'),url(https://fonts.gstatic.com/s/instrumentsans/v4/pxiTypc9vsFDm051Uf6KVwgkfoSxQ0GsQv8ToedPibnr0SZe1Q.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400 500;font-display:swap;src:url(fonts/jetbrains-mono.woff2) format('woff2'),url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxDcwg.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--navy-900:#0B3460;--navy-800:#144F7D;--violet:#1A73B8;--violet-600:#145E98;--violet-100:#E3F0FA;--sky:#2F97E1;--teal:#1B8881;--canvas:#F3F5F9;--card:#FFFFFF;--line:#DDE4EC;--ink:#0E2F4F;--muted:#56677A;--on-navy:#FFFFFF;--on-navy-muted:#B4CBE0;--display:"Bricolage Grotesque","Segoe UI",system-ui,sans-serif;--body:"Instrument Sans","Segoe UI",system-ui,sans-serif;--wordmark:"Inter","Segoe UI",system-ui,sans-serif;--wrap:1160px}
*{box-sizing:border-box}
body{margin:0;background:var(--canvas);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:var(--violet);text-decoration:none}
a:focus-visible,summary:focus-visible{outline:3px solid var(--violet);outline-offset:3px;border-radius:8px}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:24px}
.narrow{max-width:820px}.guide h3{font-size:clamp(20px,2.2vw,24px);margin:36px 0 12px}.guide p{color:var(--ink);font-size:17.5px;line-height:1.7}.guide p+p{margin-top:14px}
@media (max-width:520px){.wrap{padding-inline:16px}}
h1,h2,h3{font-family:var(--display);text-wrap:balance;margin:0;letter-spacing:-0.02em}
p{margin:0}
.eyebrow{font-size:12.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--violet-100)}
.btn{display:inline-flex;align-items:center;gap:10px;font:600 16px/1 var(--body);padding:15px 22px;border-radius:12px;border:0;cursor:pointer}
.btn-primary{background:var(--violet);color:#fff}
.btn-primary:hover{background:var(--violet-600)}
.btn-ghost{color:var(--on-navy);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.28)}
.top{background:var(--navy-900);position:sticky;top:0;z-index:10;border-bottom:1px solid rgba(255,255,255,.06)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;height:68px;position:relative}
.brand{display:flex;align-items:center;gap:10px;color:var(--on-navy);font:750 25px/1 var(--wordmark)}
.brand-mark{width:44px;height:44px;object-fit:contain;padding:2px;border-radius:10px;background:#fff}
.nav{display:flex;align-items:center;gap:22px}
.nav a{color:var(--on-navy-muted);font-weight:500;font-size:15px}
.nav a.btn{color:#fff;padding:11px 16px}
@media (max-width:760px){.nav > a:not(.btn){display:none}}
.menu{position:static}
.menu summary{list-style:none;cursor:pointer;color:var(--on-navy-muted);font-weight:500;font-size:15px;display:flex;align-items:center;gap:8px}
.menu summary::-webkit-details-marker{display:none}
.menu summary::after{content:"";width:7px;height:7px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:translateY(-2px) rotate(45deg);transition:transform .15s}
.menu[open] summary::after{transform:translateY(2px) rotate(-135deg)}
.menu summary:hover,.menu[open] summary{color:#fff}
.menu-panel{position:absolute;top:100%;left:50%;transform:translateX(-50%);display:grid;grid-template-columns:repeat(4,minmax(200px,1fr));gap:28px;width:max-content;max-width:calc(100vw - 32px);padding:24px 28px;background:var(--navy-800);border:1px solid rgba(255,255,255,.08);border-radius:16px;box-shadow:0 24px 60px rgba(6,28,52,.45)}
.menu-title{color:var(--on-navy);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin:0 0 10px;padding:0}
.menu ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.menu-panel a{display:block;padding:7px 10px;margin-inline:-10px;border-radius:8px;color:var(--on-navy-muted)}
.menu-panel a:hover{background:rgba(255,255,255,.06);color:#fff}
.menu-more{display:none}
@media (max-width:480px){.top .brand span{display:none}.nav{gap:16px}.nav .btn,.nav a.btn{padding:10px 13px;font-size:14px;white-space:nowrap}}
@media (max-width:760px){.menu{position:static}.menu-panel{position:fixed;top:68px;left:0;right:0;transform:none;width:auto;max-width:none;max-height:calc(100vh - 68px);overflow:auto;grid-template-columns:1fr;gap:20px;padding:20px 16px 24px;border-radius:0 0 16px 16px}.menu-more{display:block}}
.hero{background:var(--navy-800);color:var(--on-navy);padding:56px 0 64px}
.crumbs{font-size:14px;color:var(--on-navy-muted);margin-bottom:22px}
.crumbs a{color:var(--on-navy-muted)}
.hero h1{font-size:clamp(34px,5vw,54px);line-height:1.08;margin:12px 0 18px;max-width:880px}
.lede{font-size:19px;color:var(--on-navy-muted);max-width:760px}
.cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.answer{padding:48px 0 8px}
.answer .wrap{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--violet);border-radius:16px;padding:28px 32px}
.answer h2{font-size:22px;margin-bottom:10px}
@media (max-width:868px){.answer .wrap{margin-inline:16px}}
.block{padding:48px 0 8px}
.block h2{font-size:clamp(26px,3vw,34px);margin-bottom:22px}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.card{display:block;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px 24px;color:var(--ink)}
.card h3{font-size:19px;margin-bottom:8px}
.card p{color:var(--muted);font-size:16px}
.card.link:hover{border-color:var(--violet)}
.sources ul{margin:0;padding-left:20px}
.intro{color:var(--muted);max-width:760px;margin:-8px 0 20px}
.note{color:var(--muted);font-size:14.5px;margin-top:14px}
.table-wrap{overflow-x:auto;background:var(--card);border:1px solid var(--line);border-radius:16px}
table{width:100%;border-collapse:collapse;font-size:16px;min-width:620px}
th,td{text-align:left;vertical-align:top;padding:14px 18px;border-bottom:1px solid var(--line)}
thead th{font-family:var(--display);font-size:15px;color:var(--muted);background:var(--canvas)}
tbody tr:last-child th,tbody tr:last-child td{border-bottom:0}
tbody th{font-weight:600}
td:last-child{font-weight:600;white-space:nowrap}
.quote{margin:0;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:28px 32px}
.quote blockquote{margin:0;font-family:var(--display);font-size:22px;line-height:1.4}
.quote figcaption{margin-top:14px;color:var(--muted);font-weight:600}
.faq details{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px 20px;margin-bottom:10px}
.faq summary{font-weight:600;cursor:pointer}
.faq details p{margin-top:10px;color:var(--muted)}
.closing{padding:56px 0 72px;text-align:center}
.closing h2{font-size:clamp(26px,3vw,34px);margin-bottom:12px}
.closing p{color:var(--muted);margin-bottom:22px}
.closing .small{font-size:14px;margin:18px 0 0}
footer{position:relative;overflow:hidden;isolation:isolate;background:radial-gradient(900px 340px at 12% 0%,rgba(47,151,225,.22),transparent 70%),radial-gradient(700px 300px at 100% 100%,rgba(27,136,129,.10),transparent 70%),var(--navy-900);color:var(--on-navy-muted);padding:72px 0 0;font-size:14.5px}
.foot-cta{position:relative;overflow:hidden;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px 40px;padding:40px 44px;margin-bottom:68px;border-radius:24px;background:linear-gradient(115deg,#0E3D6D 0%,#1E629A 52%,#2F97E1 100%);box-shadow:0 30px 80px -34px rgba(47,151,225,.65)}
.foot-cta::before{content:"";position:absolute;width:360px;height:360px;right:-90px;top:-170px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.22),transparent 68%);pointer-events:none}
.foot-cta > *{position:relative}
.foot-kicker{margin:0 0 10px;font-size:12.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.72)}
.foot-cta-title{margin:0;max-width:20em;font:800 clamp(24px,2.8vw,34px)/1.12 var(--display);letter-spacing:-0.02em;color:#fff}
.foot-cta-text{margin:12px 0 0;max-width:40em;color:rgba(255,255,255,.82);line-height:1.55}
.foot-cta .btn{background:#fff;color:var(--navy-900);box-shadow:0 10px 30px -12px rgba(0,0,0,.45)}
.foot-cta .btn:hover{background:var(--violet-100)}
.foot-cta .arrow{transition:transform .15s}
.foot-cta .btn:hover .arrow{transform:translateX(3px)}
.foot-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:40px 32px}.foot-brand{grid-column:1/-1}
.foot-brand p{margin:18px 0 20px;max-width:30ch;line-height:1.6}
.company-office{margin-top:20px;font-style:normal;font-size:14px;line-height:1.7}
/* Matching public social placement and 44px touch targets across LunahUP products. */
footer .lunahup-social{margin:16px 0 0}
footer .lunahup-social .lunahup-social-label{margin:0 0 10px;max-width:none;color:#fff;font-size:14px;font-weight:600;line-height:1.5}
footer .lunahup-social-links{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
footer .lunahup-social-links .lunahup-social-link{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:#fff;color:#0a66c2;text-decoration:none;line-height:1}
footer .lunahup-social-links .lunahup-social-link:hover{background:#fff;border-color:#fff;text-decoration:none}
footer .lunahup-social-links .lunahup-social-link:focus-visible{outline:3px solid #2f97e1;outline-offset:4px}
footer .lunahup-social-link span{display:flex;align-items:center;justify-content:center}
footer .lunahup-social-link svg,footer .lunahup-social-link img{display:block;flex:none;width:22px;height:22px;fill:currentColor}
footer .lunahup-social-link[title="Facebook"]{color:#0866ff}
footer .lunahup-social-link[title="YouTube"]{color:#ff0000}
footer .lunahup-social-link[title="LinkedIn"]{color:#0a66c2}

.foot-tags{display:flex;flex-wrap:wrap;gap:8px}
.foot-tags span{padding:5px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:#CFE0EF;font-size:12.5px;font-weight:500}
.foot-title{margin:0 0 16px;padding:0;color:var(--on-navy);font-size:12.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
footer ul{list-style:none;margin:0;padding:0;display:grid;gap:11px}
footer nav a{display:inline-block;color:var(--on-navy-muted);transition:color .15s,translate .15s}
footer nav a:hover{color:#fff;translate:3px 0}
.foot-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;margin-top:60px;padding:22px 0;border-top:1px solid rgba(255,255,255,.08);font-size:13.5px}
.foot-bottom a{color:var(--on-navy-muted)}
.foot-bottom a:hover{color:#fff}
.foot-mark{margin:0 0 -0.2em;font:400 clamp(72px,17vw,250px)/1 var(--wordmark);letter-spacing:-0.01em;text-align:center;white-space:nowrap;background:linear-gradient(180deg,rgba(180,203,224,.16),rgba(180,203,224,0) 82%);-webkit-background-clip:text;background-clip:text;color:transparent;user-select:none;pointer-events:none}
@media (max-width:900px){.foot-grid{grid-template-columns:1fr 1fr}.foot-brand{grid-column:1/-1}}
@media (max-width:620px){.foot-cta{padding:30px 24px;margin-bottom:52px}.foot-cta .btn{width:100%;justify-content:center}}
@media (max-width:520px){.foot-grid{grid-template-columns:1fr}footer{padding-top:48px}}
/* Motion, as on the landing page: off for visitors who ask their device to
   reduce it, and the scroll reveals only where scroll timelines are supported. */
@media (prefers-reduced-motion: no-preference){
.hero{position:relative;isolation:isolate;overflow:hidden}
.hero::before{content:"";position:absolute;z-index:-1;width:520px;height:520px;right:-140px;top:-220px;border-radius:50%;background:rgba(47,151,225,.32);filter:blur(70px);pointer-events:none;animation:drift 18s ease-in-out infinite alternate}
@keyframes drift{from{transform:translate(0,0) scale(1)}to{transform:translate(-90px,70px) scale(1.18)}}
.hero .wrap > *{animation:enter .8s cubic-bezier(.2,.7,.2,1) both}
.hero .wrap > :nth-child(2){animation-delay:.08s}.hero .wrap > :nth-child(3){animation-delay:.16s}.hero .wrap > :nth-child(4){animation-delay:.24s}.hero .wrap > :nth-child(5){animation-delay:.32s}
@keyframes enter{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
.card{transition:translate .2s,box-shadow .2s,border-color .2s}
.card:hover{translate:0 -4px;box-shadow:0 22px 44px -28px rgba(14,47,79,.45)}
}
@supports (animation-timeline: view()){
@media (prefers-reduced-motion: no-preference){
.block h2,.answer .wrap > *,.card,.faq details,.table-wrap,.quote,.closing .wrap > *,.foot-cta,.foot-grid > *{animation:reveal linear both;animation-timeline:view();animation-range:entry 5% entry 70%}
@keyframes reveal{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
}
}
/* Book a call: a plain form, and a notice the redirect's #sent or #not-sent reveals with no script. */
.call-form{display:grid;gap:16px;margin:8px 0 0}
.field{display:grid;gap:6px;font-weight:600}
.field input,.field textarea{font:inherit;font-weight:400;padding:12px 14px;border:1px solid #c9d6e3;border-radius:12px;background:#fff;color:inherit}
.field input:focus,.field textarea:focus{outline:3px solid rgba(47,151,225,.35);border-color:#2f97e1}
.field small{font-weight:400;color:#56677a}
.field-hidden{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.call-form .btn{justify-self:start}
.form-notice{display:none;padding:20px 24px;border-radius:16px;background:#e9f7ef;border:1px solid #bfe3cf;margin-bottom:24px}
.form-notice-error{background:#fdecea;border-color:#f3c1bb}
.form-notice:target{display:block}
.form-notice h2{margin-top:0;font-size:1.25rem}
.call-form + p,.cards + p{margin-top:24px}
.foot-cta-actions{display:flex;flex-wrap:wrap;gap:12px}
.foot-cta .btn-outline{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.7);box-shadow:none}
.foot-cta .btn-outline:hover{background:rgba(255,255,255,.12)}
