:root{--deep:#28323f;--deep-2:#33404f;--mist:#e8edf2;--steel:#5c86b4;--steel-dark:#4f7aa8;--steel-light:#dbe6f1;--paper:#f5f7f9;--ink:#232b34;--muted:#697683;--accent-dark:#9dc0e2;--accent-light:#3e6c9a;--line:#dfe5ea;--maxw:1160px;--head-h:66px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--head-h) + 18px);-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:16.5px;line-height:1.7}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}::selection{background:var(--steel-light)}.site-head{z-index:100;height:var(--head-h);background:var(--deep);color:#fff;transition:box-shadow .25s;position:sticky;top:0}.site-head.scrolled{box-shadow:0 6px 24px #1f273359}.head-in{max-width:var(--maxw);justify-content:space-between;align-items:center;gap:1rem;height:100%;margin:0 auto;padding:0 1.4rem;display:flex}.brand{align-items:center;gap:.7rem;display:flex}.brand-logo{flex-shrink:0;width:auto;height:40px;display:block}.brand-text{flex-direction:column;justify-content:center;display:flex}.brand .word{letter-spacing:.01em;color:#fff;font-family:Georgia,serif;font-size:1.3rem}.brand .word i{color:var(--accent-dark);font-style:normal}.brand small{letter-spacing:.22em;text-transform:uppercase;color:#ffffff8c;font-size:.68rem}.nav{align-items:center;gap:2rem;display:flex}.nav a{letter-spacing:.04em;color:#ffffffbf;border-bottom:2px solid #0000;padding:.3rem 0;font-size:.88rem;transition:all .2s}.nav a:hover{color:var(--accent-dark)}.nav a.active{color:#fff;border-color:var(--steel)}.head-cta{background:var(--steel);color:#fff;letter-spacing:.05em;text-transform:uppercase;border-radius:2px;justify-content:center;align-items:center;gap:.5rem;padding:.65rem 1.4rem;font-size:.82rem;font-weight:700;transition:all .2s;display:inline-flex}.head-cta:hover{background:var(--steel-dark);transform:translateY(-1px)}.head-cta svg{fill:#fff;width:14px;height:14px}.burger{cursor:pointer;z-index:120;background:0 0;border:none;padding:.5rem;display:none}.burger span{background:#fff;border-radius:2px;width:26px;height:2px;margin:6px 0;transition:all .25s;display:block}#nvt{display:none}.btn{letter-spacing:.05em;text-transform:uppercase;cursor:pointer;border-radius:2px;justify-content:center;align-items:center;gap:.55rem;padding:.75rem 1.6rem;font-size:.88rem;font-weight:700;transition:all .2s;display:inline-flex}.btn.primary{background:var(--steel);color:#fff}.btn.primary:hover{background:var(--steel-dark);transform:translateY(-1px)}.btn.ghost{color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink);background:0 0}.btn.ghost:hover{color:var(--steel-dark);box-shadow:inset 0 0 0 1.5px var(--steel)}.btn.line{color:#fff;background:0 0;box-shadow:inset 0 0 0 1.5px #fff6}.btn.line:hover{box-shadow:inset 0 0 0 1.5px var(--accent-dark);color:var(--accent-dark)}.btn svg{fill:currentColor;width:15px;height:15px}.phero{background:var(--deep);color:#fff;position:relative;overflow:hidden}.phero:after{content:"";aspect-ratio:1;background:radial-gradient(circle,#5c86b438,#0000 65%);border-radius:50%;width:50%;position:absolute;top:-30%;right:-8%}.phero .in{max-width:var(--maxw);z-index:1;margin:0 auto;padding:3.4rem 1.4rem 3.8rem;position:relative}.eyebrow{color:var(--accent-dark);letter-spacing:.28em;text-transform:uppercase;align-items:center;gap:1rem;font-size:.76rem;font-weight:600;display:flex}.eyebrow:before{content:"";background:var(--accent-dark);flex-shrink:0;width:44px;height:1px}.phero h1{letter-spacing:normal;color:#fff;max-width:18em;margin-top:1rem;font-family:Georgia,serif;font-size:clamp(2rem,4.6vw,3.1rem);font-weight:400;line-height:1.15}.phero h1 i{color:var(--accent-dark);font-style:italic}.phero p{color:#ffffffb8;max-width:38em;margin-top:.9rem;font-size:1.06rem}.strip{background:var(--steel);color:#fff;letter-spacing:.18em;text-transform:uppercase;white-space:nowrap;padding:.8rem 0;font-size:.8rem;font-weight:700;overflow:hidden}.strip .inner{animation:28s linear infinite slide;display:inline-block}@keyframes slide{0%{transform:translate(0)}to{transform:translate(-50%)}}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 1.4rem}.section{padding:4.2rem 0}main{min-height:40vh}h2,h3{color:var(--ink);line-height:1.25}.shead{max-width:42rem;margin-bottom:2.4rem}.shead .eyebrow{color:var(--accent-light)}.shead .eyebrow:before{background:var(--accent-light)}.shead h2{margin:.8rem 0 .5rem;font-family:Georgia,serif;font-size:clamp(1.7rem,3.4vw,2.4rem);font-weight:400}.shead h2 i{color:var(--accent-light);font-style:italic}.shead p{color:var(--muted);font-size:1.02rem}.prose{max-width:46rem}.prose>*+*{margin-top:1.1rem}.prose .lead{color:var(--ink);font-size:1.15rem;line-height:1.6}.prose h2{color:var(--deep);border-bottom:1px solid var(--line);margin-top:2.5rem;padding-bottom:.5rem;font-family:Georgia,serif;font-size:1.65rem;font-weight:400}.prose h2:first-child{margin-top:0}.prose h3{color:var(--accent-light);margin-top:1.8rem;font-size:1.2rem;font-weight:600}.prose h4{margin-top:1.3rem;font-size:1.02rem}.prose p{color:#3a4552}.prose ul,.prose ol{padding-left:1.3rem}.prose li{color:#3a4552;margin:.45rem 0}.prose li::marker{color:var(--steel)}.prose a{color:var(--accent-light);text-underline-offset:3px;text-decoration:underline}.prose a:hover{color:var(--steel-dark)}.prose strong{color:var(--ink)}.prose blockquote{border-left:3px solid var(--steel);background:var(--mist);color:var(--deep);padding:1rem 1.3rem;font-style:italic}.prose figure{margin:1.5rem 0}.prose figure img{border-radius:4px;box-shadow:0 6px 20px #28323f1f}.prose figcaption{color:var(--muted);margin-top:.5rem;font-size:.85rem}.prose table{border-collapse:collapse;width:100%;margin:1.4rem 0}.prose td,.prose th{border-bottom:1px solid var(--line);vertical-align:top;text-align:left;padding:.7rem}.prose td:empty{display:none}.prose table img{border-radius:4px;max-width:220px;box-shadow:0 6px 20px #28323f1f}.grid{gap:1.3rem;display:grid}.grid.c2{grid-template-columns:repeat(2,1fr)}.grid.c3{grid-template-columns:repeat(3,1fr)}.card{border:1px solid var(--line);background:#fff;border-radius:4px;padding:1.7rem;transition:all .2s}.card:hover{background:var(--mist);border-color:#cdd9e5}.card .ic{background:var(--mist);border-radius:4px;place-items:center;width:46px;height:46px;margin-bottom:1rem;display:grid}.card:hover .ic{background:#fff}.card .ic svg{width:23px;height:23px;fill:var(--accent-light)}.card h3{margin-bottom:.45rem;font-family:Georgia,serif;font-size:1.18rem;font-weight:400}.card p{color:var(--muted);font-size:.94rem}.toc-layout{grid-template-columns:230px 1fr;align-items:start;gap:3rem;display:grid}.toc{top:calc(var(--head-h) + 24px);position:sticky}.toc .t{letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:.9rem;font-size:.7rem;font-weight:700}.toc a{color:var(--muted);border-left:2px solid var(--line);padding:.38rem .7rem;font-size:.9rem;transition:all .15s;display:block}.toc a:hover{color:var(--ink);border-color:var(--steel);background:var(--mist)}.svc-sec{scroll-margin-top:calc(var(--head-h) + 20px);border-top:1px solid var(--line);padding:1.9rem 0}.svc-sec:first-child{border-top:none;padding-top:0}.svc-sec h2{border:none;align-items:baseline;gap:.8rem;padding:0;font-family:Georgia,serif;font-size:1.55rem;font-weight:400;display:flex}.svc-sec h2 .n{color:var(--steel);flex-shrink:0;font-family:Georgia,serif;font-size:1.15rem;font-style:italic}.svc-sec .body,.svc-sec .body>*+*{margin-top:.9rem}.beforeafter{grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.2rem;display:grid}.beforeafter figure{margin:0;position:relative}.beforeafter img{border-radius:4px;width:100%;box-shadow:0 6px 20px #28323f1f}.beforeafter .tag{color:#fff;letter-spacing:.1em;text-transform:uppercase;background:#28323fe0;border-radius:2px;padding:.25rem .6rem;font-size:.68rem;font-weight:700;position:absolute;top:.6rem;left:.6rem}.team{grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:1.5rem;display:grid}.member{border:1px solid var(--line);background:#fff;border-radius:4px;transition:all .2s;overflow:hidden}.member:hover{border-color:#cdd9e5;box-shadow:0 10px 30px #28323f1a}.member .ph{aspect-ratio:3/4;background:linear-gradient(150deg,var(--mist),var(--steel-light));position:relative;overflow:hidden}.member .ph img{object-fit:cover;object-position:top center;width:100%;height:100%}.member .ph .init{color:var(--steel);place-items:center;font-family:Georgia,serif;font-size:2.4rem;font-style:italic;display:grid;position:absolute;inset:0}.member .info{padding:1.3rem 1.4rem 1.5rem}.member .info h3{font-family:Georgia,serif;font-size:1.2rem;font-weight:400}.member .info .role{color:var(--accent-light);letter-spacing:.06em;text-transform:uppercase;margin:.2rem 0 .7rem;font-size:.82rem;font-weight:600}.member .info ul{padding-left:1.1rem;font-size:.9rem}.member .info li{color:#3a4552;margin:.35rem 0}.member .info li::marker{color:var(--steel)}.routes{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.3rem;display:grid}.route{border:1px solid var(--line);background:#fff;border-radius:4px;padding:1.5rem}.route h3{align-items:center;gap:.6rem;margin-bottom:.55rem;font-family:Georgia,serif;font-size:1.12rem;font-weight:400;display:flex}.route h3 .dir{background:var(--deep);color:#fff;border-radius:2px;padding:.2rem .5rem;font-family:-apple-system,sans-serif;font-size:.7rem;font-weight:700}.route p{color:#3a4552;font-size:.92rem}.map-ph{aspect-ratio:16/9;background:var(--mist);border:1px solid var(--line);border-radius:4px;overflow:hidden}.map-ph img{object-fit:cover;width:100%;height:100%}.infobox{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.2rem;margin-top:1.5rem;display:grid}.infobox .i{background:var(--mist);border-left:3px solid var(--steel);padding:1.2rem 1.3rem}.infobox .i .k{letter-spacing:.2em;text-transform:uppercase;color:var(--accent-light);margin-bottom:.3rem;font-size:.68rem;font-weight:700}.infobox .i .v{color:var(--ink);font-weight:600}.infobox .i a:hover{color:var(--accent-light)}.ph-img{aspect-ratio:4/3;background:repeating-linear-gradient(45deg,var(--mist) 0 12px,#f0f4f8 12px 24px);color:var(--muted);border:1px dashed #c3cfda;border-radius:4px;place-items:center;display:grid}.ph-img span{letter-spacing:.08em;font-size:.78rem;font-weight:600}.demo-ribbon{color:#8a6d1e;text-align:center;background:#fff6e5;border-bottom:1px solid #f0dfb8;padding:.55rem 1rem;font-size:.82rem}.foot{background:var(--deep);color:#ffffff9e;margin-top:2rem}.foot .in{max-width:var(--maxw);grid-template-columns:1.4fr 1fr 1fr;gap:2rem;margin:0 auto;padding:3rem 1.4rem 2rem;display:grid}.foot h4{color:#fff;letter-spacing:.22em;text-transform:uppercase;margin-bottom:1rem;font-size:.75rem;font-weight:600}.foot .brand .word{font-size:1.15rem}.foot p{max-width:24em;margin-top:.9rem;font-size:.9rem}.foot ul{font-size:.92rem;list-style:none}.foot li{margin:.5rem 0}.foot a:hover{color:var(--accent-dark)}.foot .bar{max-width:var(--maxw);color:#ffffff73;border-top:1px solid #ffffff1a;flex-wrap:wrap;justify-content:space-between;gap:1rem;margin:0 auto;padding:1.2rem 1.4rem;font-size:.82rem;display:flex}.callbar{z-index:90;background:var(--deep);padding:.75rem 1rem calc(.75rem + env(safe-area-inset-bottom));gap:.7rem;display:none;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 30px #00000040}.callbar .btn{flex:1;padding:.85rem}@media (width<=920px){:root{--head-h:60px}.nav{background:var(--deep);flex-direction:column;justify-content:center;gap:1.2rem;padding:2rem;transition:transform .3s;position:fixed;inset:0;transform:translate(100%)}.nav a{font-size:1.3rem}#nvt:checked~.head-in .nav{transform:translate(0)}#nvt:checked~.head-in .burger span:first-child{transform:translateY(8px)rotate(45deg)}#nvt:checked~.head-in .burger span:nth-child(2){opacity:0}#nvt:checked~.head-in .burger span:nth-child(3){transform:translateY(-8px)rotate(-45deg)}.burger{display:block}.head-cta{display:none}.toc-layout{grid-template-columns:1fr;gap:1.4rem}.toc{position:static}.toc-wrap{border:1px solid var(--line);background:#fff;border-radius:4px;padding:.4rem}.grid.c2,.grid.c3{grid-template-columns:1fr}.foot .in{grid-template-columns:1fr;gap:1.6rem}.callbar{display:flex}body{padding-bottom:72px}.section{padding:3rem 0}}
