/* A restrained material layer. No new fonts, libraries, tracking or raster assets. */
:root {
  --surface-edge: #d7e5f0;
  --surface-shadow: 0 2px 3px #193f5c04, 0 12px 28px #193f5c08, inset 0 1px 0 #fff;
}
body { background: #fbfcfe; }
.site-header { background: #ffffffdf; border-bottom-color: #dfe9f2; box-shadow: 0 2px 20px #214b6605; }
.site-header.is-scrolled { background: #ffffffe8; box-shadow: 0 6px 28px #214b6610; }
.menu .sub { border-color: var(--surface-edge); box-shadow: 0 20px 48px #193f5c1a; }
.btn { transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.btn-primary { background: linear-gradient(165deg,#397eaf,#225f8e); border-color: #246591; box-shadow: inset 0 1px 0 #ffffff57, inset 0 -2px 0 #123b6124, 0 7px 16px #2b6f9f30; }
.btn-wa { background: linear-gradient(160deg,#42464b,#24282c); box-shadow: inset 0 1px 0 #ffffff33, 0 7px 16px #20252c20; }
.btn-ghost { background: #ffffffed; border-color: #cbdce9; }
.btn:active { transform: translateY(1px); }
.hero { position: relative; isolation: isolate; background: radial-gradient(ellipse at 90% 25%,#b9daf380,transparent 54%),linear-gradient(120deg,#f8fbff,#eef5fc 64%,#e2f0fb); border-bottom: 1px solid #d9e8f4; }
.hero::before { display: none; }
.hero-layout { position: relative; z-index: 1; gap: 62px; padding-top: 28px; padding-bottom: 48px; }
.hero h1 { font-size:clamp(63px,6.9vw,87px); letter-spacing: -.048em; line-height: 1.09; }
.hero h1 .hl { color: #2974ac; }
.hero .sub { color: #525e69; font-size: clamp(17px,1.5vw,19px); }
.hero-eyebrow { background: #ffffffbd; border-color: #c8ddeb; box-shadow: inset 0 1px 0 #fff,0 3px 8px #285b8008; }
.hero-studio { position: relative; isolation: isolate; padding-top: 48px; }
.hero-guide { position: relative; z-index: 1; padding: 28px; border: 1px solid #ffffffed; border-radius: 27px; background: linear-gradient(130deg,#fffffff0,#ffffffab); box-shadow: inset 0 1px 0 #fff,inset 0 -1px 0 #c3d9ea,0 4px 8px #23587e08,0 28px 55px -18px #23587e4d; }
@supports (backdrop-filter:blur(1px)) { .hero-guide { backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); } }
.hero-guide::before { content:""; position:absolute; top:24px; bottom:24px; left:-8px; right:-8px; z-index:-1; border:1px solid #ffffffa8; border-radius:30px; pointer-events:none; }
.hero-guide h2 { font-size: 28px; }
.guide-kicker { display:flex; align-items:center; gap:8px; }
.guide-kicker::before { content:""; width:7px; height:7px; border-radius:50%; background:#4b95d0; box-shadow:0 0 0 4px #4b95d016; }
.hero-checklist li { border-color:#dce8f1; padding:14px 0; }
.hero-checklist li>span { color:#276997; background:linear-gradient(145deg,#fff,#dfedf7); border:1px solid #d3e4f1; box-shadow:0 3px 6px #2b62851a,inset 0 1px 0 #fff; }
.hero-checklist p { color:#58636e; }
.guide-outcome { background:linear-gradient(120deg,#204968,#2b6f9f); border:1px solid #3b759f; box-shadow:inset 0 1px 0 #ffffff26; }
.guide-outcome span { color:#d0e5f5; }
.hero-proof { gap:10px 18px; color:#526473; }
.section.alt { background:linear-gradient(155deg,#f0f6fb,#f8fbfd 60%,#eaf3fb); border-block:1px solid #e0ebf4; }
.eyebrow { font-size:11px; letter-spacing:.15em; }
.section>.container>h2 { letter-spacing:-.04em; }
.intent-card,.svc,.card,.domain-card,.aside-card,.review-card,.step,.tool-card { border-color:var(--surface-edge); box-shadow:var(--surface-shadow); background:linear-gradient(145deg,#fff 55%,#f9fcff); }
a.intent-card,a.svc,a.card,a.field-card { transition:transform .23s ease,box-shadow .23s ease,border-color .23s ease; }
.intent-no,.svc .n,.card .ic,.why .ic { color:#256c9e; background:linear-gradient(145deg,#ffffff,#dcecf8); border:1px solid #cbdfee; box-shadow:inset 0 1px 0 #fff,0 4px 6px #20587f0c,0 8px 16px #20587f09; }
.svc { flex-direction:column; padding:28px; gap:20px; border-radius:22px; }
.svc h3 { font-size:18px; line-height:1.25; }
.svc p { font-size:15px; line-height:1.55; }
.svc .n { width:52px; height:52px; border-radius:16px; }
.intent-card { padding:28px; border-radius:22px; }
.intent-card .more,.card .more,.field-more { color:#246591; }
.field-section { background:#142d40; }
.field-section::before { background:radial-gradient(ellipse at 15% 0%,#4b95d02b,transparent 70%); }
.field-card { background:linear-gradient(135deg,#ffffff0d,#ffffff04); border-color:#8dc0e333; box-shadow:inset 0 1px 0 #ffffff0d; }
.field-card p { color:#c1d1de; }
.field-more { color:#acd5f3; }
.field-mark { background:linear-gradient(145deg,#4b95d03d,#4b95d00a); box-shadow:inset 0 1px 0 #ffffff29,0 5px 12px #061d3026; }
.cta-band { background:radial-gradient(ellipse at 100% 0%,#468fbe4d,transparent 65%),linear-gradient(120deg,#173b55,#245f88); border:1px solid #447c9e; box-shadow:inset 0 1px 0 #ffffff26,0 16px 34px #1d4c751a; }
.cta-band .btn-ghost { background:#ffffff0d; }
.cta-band p { color:#d4e5f0; }
.page-hero { position:relative; background:linear-gradient(110deg,#f7fbfe 25%,#e7f2fa); border-bottom-color:#cddfee; }
.page-hero h1 { max-width:950px; }
.page-hero h1::after { content:""; display:block; width:52px; height:4px; margin-top:22px; border-radius:4px; background:linear-gradient(90deg,#2b6f9f,#8fc4e9); }
.aside-card { border-top:3px solid #4b95d0; }
.faq-item { border-color:#d9e5ef; box-shadow:0 3px 8px #254e6c04; }
.faq-item.open { background:#f8fbfe; border-color:#accde5; box-shadow:0 6px 16px #254e6c08; }
.review-card { border-radius:22px; }
.reviews-summary { border-color:#c9dfef; box-shadow:var(--surface-shadow); }
.step::before { box-shadow:0 3px 8px #2b6f9f26,inset 0 1px 0 #ffffff55; }
.mobile-bar { box-shadow:0 -5px 20px #163d5b0c; }
/* Motion is progressive enhancement: content is never initially hidden. */
@keyframes surface-arrive { from { transform:translateY(12px); } to { transform:translateY(0); } }
.surface-arrive { animation:surface-arrive .55s cubic-bezier(.22,.68,.15,1); }
@media(hover:hover) and (pointer:fine) {
  .btn:hover { transform:translateY(-2px); }
  a.intent-card:hover,a.svc:hover,a.card:hover { transform:translateY(-4px); border-color:#9fc6e2; box-shadow:0 16px 30px #234e7014,inset 0 1px 0 #fff; }
  a.field-card:hover { transform:translateY(-3px); border-color:#83bce18c; }
}
@media(max-width:1000px) {
  .hero-layout { gap:28px; }
  .hero-studio { padding-top:0; width:100%; max-width:680px; }
}
@media(max-width:680px) {
  .hero-layout { padding-top:36px; padding-bottom:40px; }
  .hero h1 { font-size:clamp(51px,13.5vw,64.5px); max-width:none; }
  .hero-cta { max-width:none; }
  .hero-eyebrow { font-size:10.5px; letter-spacing:.01em; }
  .hero-guide { padding:23px; border-radius:23px; }
  .hero-guide h2 { font-size:25px; }
  .intent-card { padding:23px; gap:15px; }
  .svc { flex-direction:row; padding:23px; gap:17px; }
  .svc h3 { font-size:17px; }
  .svc p { font-size:14px; }
}
@media(prefers-reduced-motion:reduce) {
  .surface-arrive { animation:none; }
  .btn,a.intent-card,a.svc,a.card,a.field-card { transition:none; }
  .btn:hover,a.intent-card:hover,a.svc:hover,a.card:hover,a.field-card:hover { transform:none; }
}
@media print { .surface-arrive { animation:none; } .hero-guide,.card,.svc,.intent-card { box-shadow:none; backdrop-filter:none; } }

/* Editorial motion system. All graphic covers are illustrative, not real data. */
.guide-announcement{background:linear-gradient(110deg,#26292e,#363b42 65%,#292e35);border-bottom:1px solid #494f58;color:#f5f7fa}
.guide-announcement-link{min-height:70px;display:flex;align-items:center;gap:16px;padding-top:10px;padding-bottom:10px}
.guide-book{width:40px;height:44px;display:grid;place-items:center;flex-shrink:0;background:#ffffff0d;border:1px solid #ffffff30;border-radius:12px;box-shadow:inset 0 1px 0 #ffffff18,0 4px 10px #00000020;transform:rotate(-5deg);transition:transform .25s}
.guide-book svg{width:24px;height:24px}
.guide-announcement-copy{display:flex;align-items:center;flex-wrap:wrap;gap:6px 16px}
.guide-announcement-copy strong{font-size:16px}
.guide-free{font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.08em;border:1px solid #ffffff40;border-radius:6px;padding:4px 7px}
.guide-audience{font-size:13px;color:#d0d6de}
.guide-download{display:flex;align-items:center;justify-content:center;gap:9px;margin-left:auto;flex-shrink:0;font-size:13px;font-weight:650;padding:10px 15px;border-radius:99px;background:#eef3f8;color:#252b33;box-shadow:inset 0 1px 0 #fff,0 4px 10px #00000020}
.guide-download svg{width:18px;height:18px}
.guide-announcement-link:hover .guide-book{transform:rotate(0deg) translateY(-2px)}
@keyframes title-lift{from{transform:translateY(14px)}to{transform:translateY(0)}}
.hero-title-main{display:block}
.hero h1 .hl{display:block;color:#2871a8}
/* Sculpted typography: permanent edge/depth, finite staggered spring and blue sheen.
   No masks, line decorations, looping motion or controls. Static text without JS. */
.hero h1{overflow-wrap:anywhere;perspective:900px;margin-bottom:30px}
.hero h1 .sculpted-word,.hero h1 .hl .sculpted-word{display:inline-block;max-width:100%;vertical-align:baseline;transform-origin:50% 80%;backface-visibility:hidden}
.hero-title-main .sculpted-word{color:#202b36;text-shadow:0 -1px 0 #fff,0 1px 0 #b0becb,0 2px 0 #a0afbd,0 3px 1px #93a3b24d,0 9px 16px #17354e24}
.hero h1 .hl .sculpted-word{color:#2674aa;text-shadow:0 -1px 0 #c7e8ff,0 2px 0 #16517c,0 8px 16px #245d8a30}
.headline-enter .sculpted-word{animation:word-spring 1.15s var(--word-delay) both}
@supports(background-clip:text){
  .hero h1 .hl .sculpted-word{background-image:linear-gradient(110deg,transparent 40%,#c5eaff 49%,transparent 58%),linear-gradient(180deg,#70b0da 0%,#3a86bd 38%,#205b8c 75%,#184772 100%);background-size:300% 100%,100% 100%;background-position:0% 50%,0% 50%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-shadow:none;filter:drop-shadow(0 1px 0 #194d75) drop-shadow(0 2px 0 #235c8638) drop-shadow(0 8px 7px #1a4d7b30)}
  .hero h1.headline-enter .hl .sculpted-word{animation:word-spring 1.15s var(--word-delay) both,word-sheen 2.5s calc(1.2s + var(--word-delay)) backwards}
}
@keyframes word-spring{0%{opacity:0;transform:translateY(.35em) rotateX(-24deg) scale(.94)}55%{opacity:1;transform:translateY(-.07em) rotateX(4deg) scale(1.015)}78%{opacity:1;transform:translateY(.025em) rotateX(-1deg) scale(.995)}100%{opacity:1;transform:translateY(0) rotateX(0) scale(1)}}
@keyframes word-sheen{from{background-position:100% 50%,0% 50%}to{background-position:0% 50%,0% 50%}}
.page-heading-icon{display:grid;place-items:center;width:56px;height:56px;margin:18px 0 22px;border:1px solid #b9d5e9;border-radius:17px;color:#286d9f;background:linear-gradient(145deg,#fff,#daebf8);box-shadow:inset 0 1px 0 #fff,0 6px 14px #2d618b17;animation:title-lift .65s ease-out}
.page-heading-icon svg{width:29px;height:29px}
.page-hero h1{animation:title-lift .75s ease-out}
.page-hero h1::after{transform-origin:left;animation:line-arrive .9s ease-out}
@keyframes line-arrive{from{transform:scaleX(.15)}to{transform:scaleX(1)}}
.post{border-color:#d1e2ef;border-radius:23px;box-shadow:var(--surface-shadow);transition:transform .25s,box-shadow .25s}
.post .ph,.article-cover .ph{position:relative;display:block;min-height:260px;padding:20px;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 85% 0%,#427da54d,transparent 70%),linear-gradient(135deg,#13344f,#20577d);color:#fff}
.post .ph::before,.article-cover .ph::before{content:"";position:absolute;width:85%;height:65%;top:auto;bottom:30px;right:7%;border-radius:18px;background:#ffffff07;border:1px solid #ffffff19;transform:rotate(-5deg);box-shadow:0 12px 35px #001c382b}
.post-method-visual[data-visual="research"],.post-method-visual[data-visual="reliability"],.post-method-visual[data-visual="missing"]{background:radial-gradient(ellipse at 85% 0%,#72c0c127,transparent 70%),linear-gradient(135deg,#183f4b,#246473)}
.post-method-visual[data-visual="report"],.post-method-visual[data-visual="timeline"]{background:linear-gradient(135deg,#293b53,#485a73)}
.post-method-visual .ph-label{background:#ffffff12;border-color:#ffffff40;color:#e7f3fc;font-size:10px}
.post-method-visual .post-method-svg{width:76%;height:150px;right:12%;bottom:36px;filter:drop-shadow(0 8px 8px #09293a33);transition:transform .5s cubic-bezier(.2,.65,.2,1)}
.post-method-svg .visual-grid path{stroke:#beddf31a}
.post-method-svg .visual-axis path{stroke:#bfdbef66}
.post-method-svg .visual-lines path,.post-method-svg .visual-links path,.post-method-svg .visual-report path,.post-method-svg .visual-table path,.post-method-svg .visual-ci path,.post-method-svg .visual-box path{stroke:#b2d4ec;stroke-width:1.8}
.post-method-svg .visual-lines .strong,.post-method-svg .visual-ring .strong{stroke:#72c9ff;stroke-width:3}
.post-method-svg .visual-points circle,.post-method-svg .visual-focus,.post-method-svg .visual-ci circle{fill:#88d4ff;stroke:#e2f5ff}
.post-method-svg .visual-bars rect{fill:#71bcf0aa;stroke:#a9dcff}
.post-method-svg .visual-bars rect:nth-child(3n){fill:#b2ddf3}
.post-method-svg .visual-nodes circle,.post-method-svg .visual-nodes rect{fill:#285e82;stroke:#9fd5f5}
.post-method-svg .visual-cells rect{fill:#72b9e34d;stroke:#94c9e9}
.post-method-svg .visual-cells rect:nth-child(3n+2){fill:#9fd5f5b3}
.post-method-svg .visual-ring circle{stroke:#d6eafb40}
.post-method-svg .visual-report rect,.post-method-svg .visual-box rect{fill:#80c7f170;stroke:#a9dcff}
.post-method-svg text,.post-method-svg .visual-table circle{fill:#c8edff}
.cover-signature{position:absolute;bottom:14px;left:20px;right:20px;display:flex;justify-content:space-between;gap:10px;font-size:8px;letter-spacing:.15em;color:#cee6f7}
.cover-signature span{letter-spacing:.02em;opacity:.8}
.article-hero-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.8fr);align-items:center;gap:56px}
.article-hero-grid h1{font-size:clamp(30px,3.5vw,46px)}
.article-cover{margin:0;min-width:0}
.article-cover .ph{border-radius:26px;min-height:290px;box-shadow:0 20px 40px -14px #1a496944,inset 0 1px 0 #ffffff40}
.article-cover .post-method-svg{height:165px;bottom:50px}
.article-cover figcaption{color:#5c6c78;font-size:10px;text-align:center;margin-top:12px}
.card .ic svg,.why .ic svg{transition:transform .3s ease}
.article-service-link{box-shadow:var(--surface-shadow)}
.chip{transition:background .2s,color .2s,box-shadow .2s}
.chip.is-on{box-shadow:0 4px 12px #2b6f9f26}
@media(hover:hover) and (pointer:fine){
  .post:hover{transform:translateY(-5px);box-shadow:0 18px 34px #21496319}
  .post:hover .post-method-svg,.post:focus-visible .post-method-svg{transform:translateY(-4px) scale(1.035)}
  .svc:hover .n svg,.intent-card:hover .intent-no svg,.field-card:hover .field-mark svg,.card:hover .ic svg{transform:translateY(-2px)}
  .svc .n svg,.intent-no svg,.field-mark svg{transition:transform .25s ease}
}
@media(max-width:1000px){.guide-audience{display:none}.article-hero-grid{gap:28px;grid-template-columns:minmax(0,1.3fr) minmax(240px,1fr)}}
@media(max-width:680px){
  .guide-announcement-link{gap:10px;min-height:80px;padding-inline:18px}
  .guide-book{width:32px;height:38px;border-radius:9px}.guide-book svg{width:20px;height:20px}
  .guide-announcement-copy{display:grid;gap:2px}.guide-free{font-size:9px;border:0;padding:0}.guide-announcement-copy strong{font-size:13px}
  .guide-download{font-size:0;padding:11px}.guide-download svg{width:19px;height:19px}
  .article-hero-grid{grid-template-columns:1fr}.article-cover{max-width:460px;width:100%}.article-cover .ph{min-height:260px}
  .page-heading-icon{width:48px;height:48px;margin:16px 0 20px}
}
html.motion-paused *,html.motion-paused *::before,html.motion-paused *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html.motion-paused .hero h1 .hl,html.motion-paused .hero-title-main{-webkit-text-fill-color:currentColor;background:none}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.hero h1 .hl,.hero-title-main{-webkit-text-fill-color:currentColor;background:none}}
@media print{.guide-announcement{display:none}.hero h1 .hl,.hero-title-main,.hero h1 .hl .sculpted-word{-webkit-text-fill-color:currentColor;background:none}.sculpted-word{animation:none!important;text-shadow:none!important;filter:none!important}}
@media(min-width:480px) and (max-width:1000px){.hero-cta{flex-direction:row;max-width:none}.hero-cta .btn{width:auto}}
