@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/poppins-devanagari-400-normal.CJDn6rn8.woff2)format("woff2"),url(/_astro/poppins-devanagari-400-normal.CqVvlrh5.woff)format("woff");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/poppins-latin-ext-400-normal.by3JarPu.woff2)format("woff2"),url(/_astro/poppins-latin-ext-400-normal.DaBSavcJ.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/poppins-latin-400-normal.cpxAROuN.woff2)format("woff2"),url(/_astro/poppins-latin-400-normal.BOb3E3N0.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/poppins-devanagari-500-normal.BIdkeU1p.woff2)format("woff2"),url(/_astro/poppins-devanagari-500-normal.DMPDjHtT.woff)format("woff");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/poppins-latin-ext-500-normal.CK-6C4Hw.woff2)format("woff2"),url(/_astro/poppins-latin-ext-500-normal.CgAe2rWW.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/poppins-latin-500-normal.C8OXljZJ.woff2)format("woff2"),url(/_astro/poppins-latin-500-normal.DGXqpDMm.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/poppins-devanagari-600-normal.STEjXBNN.woff2)format("woff2"),url(/_astro/poppins-devanagari-600-normal.ClASKHrr.woff)format("woff");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/poppins-latin-ext-600-normal.CAhIAdZj.woff2)format("woff2"),url(/_astro/poppins-latin-ext-600-normal.Df5ffKXP.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/poppins-latin-600-normal.zEkxB9Mr.woff2)format("woff2"),url(/_astro/poppins-latin-600-normal.BJdTmd5m.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/poppins-devanagari-700-normal.O-jipLrW.woff2)format("woff2"),url(/_astro/poppins-devanagari-700-normal.fHs-vx92.woff)format("woff");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/poppins-latin-ext-700-normal.cby-RkWa.woff2)format("woff2"),url(/_astro/poppins-latin-ext-700-normal.DctTR6Tg.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/poppins-latin-700-normal.Qrb0O0WB.woff2)format("woff2"),url(/_astro/poppins-latin-700-normal.BVuQR_eA.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--plum:#7f1661;--plum-deep:#5c0f47;--plum-tint:#f8edf4;--coral:#f0756a;--orange:#fba950;--ink:#1e1a1d;--muted:#5f5a5d;--line:#eadfe5;--paper:#fff;--warm:#fff8f1;--sans:"Poppins", system-ui, -apple-system, "Segoe UI", sans-serif;--wrap:1120px;--signature:linear-gradient(90deg, var(--orange), var(--coral) 50%, var(--plum));--ease:cubic-bezier(.2, .7, .2, 1)}@view-transition{navigation:auto}::view-transition-old(root),::view-transition-new(root){animation-duration:.25s}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{background:var(--paper);color:var(--ink);font:400 16px/1.65 var(--sans);-webkit-font-smoothing:antialiased;margin:0}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}p{margin:0 0 12px}h1,h2,h3,h4{color:var(--plum);margin:0;line-height:1.2}h1{letter-spacing:-.02em;font-size:clamp(38px,6vw,58px);font-weight:700}h2{letter-spacing:-.01em;font-size:clamp(26px,3.4vw,34px);font-weight:700}h3{color:var(--ink);font-size:18px;font-weight:600}.wrap{max-width:var(--wrap);margin:0 auto;padding:0 28px}.muted{color:var(--muted)}.small{font-size:14px}.ink{color:var(--ink)}.link{color:var(--plum);font-weight:500}.link:hover{text-decoration:underline}.mt-s{margin-top:12px}.mt-m{margin-top:28px}.mt-l{margin-top:40px}.narrow{max-width:760px}.label{letter-spacing:.16em;text-transform:uppercase;color:var(--coral);font-size:12px;font-weight:600}.rule{background:var(--signature);transform-origin:0;width:64px;height:3px;animation:draw .9s var(--ease) .2s both;border-radius:3px;margin:20px 0}@keyframes draw{0%{transform:scaleX(0)}}.btn{font:500 15px var(--sans);border:1.5px solid var(--plum);color:var(--plum);cursor:pointer;transition:background .2s, color .2s, transform .2s var(--ease);background:0 0;border-radius:999px;align-items:center;gap:8px;padding:11px 20px;display:inline-flex}.btn:hover{background:var(--plum-tint)}.btn:active{transform:scale(.98)}.btn.primary{background:var(--plum);color:#fff}.btn.primary:hover{background:var(--plum-deep);border-color:var(--plum-deep)}.btn:focus-visible,a:focus-visible,button:focus-visible{outline:2px solid var(--coral);outline-offset:3px}.btns{flex-wrap:wrap;gap:12px;display:flex}.nav{z-index:10;backdrop-filter:blur(8px);border-bottom:1px solid var(--line);background:#fffffff0;position:sticky;top:0}.nav .wrap{justify-content:space-between;align-items:center;gap:20px;height:68px;display:flex}.nav .name{color:var(--plum);font-size:18px;font-weight:700}.nav .links{color:var(--muted);gap:26px;font-size:15px;display:flex}.nav .links a{position:relative}.nav .links a:after{content:"";background:var(--signature);transform-origin:0;height:2px;transition:transform .25s var(--ease);position:absolute;bottom:-4px;left:0;right:0;transform:scaleX(0)}.nav .links a:hover{color:var(--plum)}.nav .links a:hover:after{transform:scaleX(1)}.nav .btn{padding:8px 16px;font-size:14px}.menu{display:none}.menu summary{cursor:pointer;color:var(--plum);border:1.5px solid var(--plum);border-radius:999px;padding:8px 14px;font-size:14px;font-weight:500;list-style:none}.menu summary::-webkit-details-marker{display:none}.menu .drop{border:1px solid var(--line);background:#fff;border-radius:14px;min-width:200px;padding:10px;display:grid;position:absolute;top:62px;right:20px;box-shadow:0 12px 30px #1e1a1d1a}.menu .drop a,.menu .drop button{font:500 15px var(--sans);text-align:left;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:10px 12px}.menu .drop a:hover,.menu .drop button:hover{background:var(--plum-tint)}.hero{isolation:isolate;position:relative;overflow:hidden}.hero:before,.hero:after{content:"";filter:blur(80px);opacity:.35;z-index:-1;border-radius:50%;width:520px;height:520px;position:absolute}.hero:before{background:#fee0a6;top:-260px;left:-200px}.hero:after{background:#fed7dc;bottom:-300px;right:-160px}.hero .grid{grid-template-columns:1fr 290px;align-items:center;gap:64px;padding-top:64px;padding-bottom:52px;display:grid}.hero h1{margin-top:12px}.hero .lede{max-width:620px;color:var(--ink);margin-bottom:26px;font-size:18px}.hero .avail{color:var(--muted);align-items:center;gap:8px;margin-top:18px;font-size:14px;display:flex}.hero .avail:before{content:"";background:#2e9e5b;border-radius:50%;width:8px;height:8px;animation:2.4s ease-out infinite pulse;box-shadow:0 0 #2e9e5b80}@keyframes pulse{70%{box-shadow:0 0 0 8px #2e9e5b00}to{box-shadow:0 0 #2e9e5b00}}.portrait{border:1px solid var(--line);background:#fff;border-radius:22px;width:100%;margin:0;padding:10px;box-shadow:0 20px 40px #7f166114}.portrait img{aspect-ratio:4/5;object-fit:cover;border-radius:14px;width:100%;height:auto}.portrait figcaption{color:var(--muted);justify-content:space-between;padding:10px 4px 2px;font-size:13px;display:flex}.facts{border:1px solid var(--line);background:#fff;border-radius:18px;grid-template-columns:repeat(4,1fr);display:grid}.facts div{padding:22px 24px}.facts div+div{border-left:1px solid var(--line)}.facts b{color:var(--plum);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:26px;font-weight:700;display:block}.facts .lbl{color:var(--muted);font-size:14px}section.block{padding:84px 0 0}.sechead{border-bottom:1px solid var(--line);align-items:baseline;gap:16px;margin-bottom:30px;padding-bottom:14px;display:flex}.sechead .num{color:var(--coral);min-width:30px;font-size:20px;font-weight:700}.sechead .more{color:var(--plum);margin-left:auto;font-size:15px;font-weight:500}.capab{grid-template-columns:300px 1fr;align-items:start;gap:28px;display:grid}.capab .tabs{gap:6px;display:grid;position:relative}.capab .tab{text-align:left;width:100%;font:500 16px var(--sans);color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:12px;align-items:center;gap:14px;padding:14px 16px;transition:background .2s,color .2s;display:flex}.capab .tab .n{color:var(--coral);font-size:13px;font-weight:600}.capab .tab:hover{background:var(--plum-tint);color:var(--ink)}.capab .tab[aria-selected=true]{background:var(--plum);color:#fff}.capab .tab[aria-selected=true] .n{color:#ffd9c8}.capab .panel{border:1px solid var(--line);background:#fff;border-radius:18px;padding:26px 28px}.capab .panel h3{color:var(--plum);margin-bottom:8px;font-size:22px}.capab .panel .sub{letter-spacing:.14em;text-transform:uppercase;color:var(--coral);margin:18px 0 8px;font-size:12px;font-weight:600}.capab .evidence{margin:0;padding:0;list-style:none}.capab .evidence a{border-top:1px solid var(--line);color:var(--ink);justify-content:space-between;align-items:center;gap:16px;padding:13px 0;display:flex}.capab .evidence a span:last-child{color:var(--plum);transition:transform .2s var(--ease)}.capab .evidence a:hover span:last-child{transform:translate(4px)}.js .capab .panel[hidden]{display:none}.js .capab .panel.show{animation:panel-in .35s var(--ease)}@keyframes panel-in{0%{opacity:0;transform:translateY(6px)}}html:not(.js) .capab{grid-template-columns:1fr}html:not(.js) .capab .tabs{display:none}html:not(.js) .capab .panel+.panel{margin-top:16px}.cards{grid-template-columns:repeat(3,1fr);gap:22px;display:grid}.card{border:1px solid var(--line);transition:transform .25s var(--ease), box-shadow .25s var(--ease), border-color .25s;background:#fff;border-radius:18px;flex-direction:column;display:flex;overflow:hidden}.card:hover{border-color:#e2cada;transform:translateY(-3px);box-shadow:0 18px 36px #7f16611f}.card.featured{flex-direction:row;grid-column:span 2}.card .ph{background:var(--plum-tint);height:160px;position:relative;overflow:hidden}.card .ph img{object-fit:cover;width:100%;height:100%;transition:transform .6s var(--ease)}.card:hover .ph img{transform:scale(1.04)}.card .ph.plain{height:64px}.card .ph.plain:after{content:"";background:var(--signature);width:48px;height:4px;transition:width .35s var(--ease);border-radius:4px;position:absolute;bottom:20px;left:22px}.card:hover .ph.plain:after{width:96px}.card.featured .ph{flex:0 0 44%;height:auto}.card .body{flex-direction:column;flex:1;padding:20px 22px 22px;display:flex}.card .tag{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;font-size:12px;font-weight:500}.card h3{margin-bottom:12px}.chip{color:var(--plum);background:var(--plum-tint);border-radius:999px;align-self:flex-start;margin-bottom:18px;padding:4px 12px;font-size:13px;font-weight:500}.card .go{color:var(--plum);margin-top:auto;font-size:15px;font-weight:500}.card .go span{transition:transform .2s var(--ease);display:inline-block}.card:hover .go span{transform:translate(4px)}.chart{border:1px solid var(--line);background:#fff;border-radius:18px;margin-bottom:18px;padding:22px 22px 16px}.chart svg{width:100%;height:auto;display:block;overflow:visible}.chart .lane{font:600 13px var(--sans);fill:var(--ink)}.chart .track{fill:#fbf7f9}.chart .bar{transform-box:fill-box;transform-origin:0}.chart .bar.a{fill:#b5568f}.chart .bar.b{fill:#97236f}.chart .bar.c{fill:var(--plum)}.chart .bar.soft{fill:#fbd3cf}.chart .bar.coral{fill:var(--coral)}.chart .bar.orange{fill:var(--orange)}.chart .lbl{font:500 12px var(--sans);fill:#fff;pointer-events:none}.chart .lbl.dark{fill:var(--plum)}.chart .tick{font:400 12px var(--sans);fill:var(--muted)}.chart .gridline{stroke:var(--line);stroke-width:1px}.chart .mark{stroke:#7f166166;stroke-width:1.5px;stroke-dasharray:4 4}.chart .marklbl{font:500 11px var(--sans);fill:var(--plum)}.chart .legend{color:var(--muted);flex-wrap:wrap;gap:6px 18px;margin-top:10px;font-size:13px;display:flex}.chart .legend b{color:var(--plum);font-weight:600}.chart .mob{display:none}.chart .legend span{align-items:center;gap:6px;display:inline-flex}.chart .sw{border-radius:3px;width:12px;height:12px;display:inline-block}.chart .sw.a{background:#b5568f}.chart .sw.b{background:#97236f}.chart .sw.c{background:var(--plum)}.chart .sw.hatch{background:repeating-linear-gradient(135deg,#e9c9dc 0 3px,#f6e6ef 3px 6px)}.chart .sw.soft{background:#fbd3cf}.chart .sw.coral{background:var(--coral)}.chart .sw.orange{background:var(--orange)}.js .chart .bar,.js .chart .lbl{opacity:0;transition:transform .9s var(--ease), opacity .4s;transform:scaleX(0)}.js .chart.in .bar,.js .chart.in .lbl{opacity:1;transform:none}.js .chart.in .lbl{transition-delay:.7s}.js .chart.in g:nth-of-type(2) .bar{transition-delay:.15s}.js .chart.in g:nth-of-type(3) .bar{transition-delay:.3s}.rows{border:1px solid var(--line);background:#fff;border-radius:18px;overflow:hidden}.row{grid-template-columns:170px 1fr 220px;gap:20px;padding:20px 24px;display:grid}.row+.row{border-top:1px solid var(--line)}.row .yr{color:var(--muted);font-size:15px}.row .side{text-align:right;color:var(--muted);font-size:15px}.row b{font-weight:600}.row ul{color:var(--muted);margin:8px 0 0;padding-left:18px;font-size:15px}.row ul b{color:var(--ink)}.certs{grid-template-columns:repeat(2,minmax(0,240px));gap:16px;margin-top:14px;display:grid}.cert{display:block}.cert img{border:1px solid var(--line);width:100%;height:auto;transition:transform .25s var(--ease), box-shadow .25s var(--ease);border-radius:10px}.cert:hover img{transform:translateY(-2px);box-shadow:0 10px 24px #7f16611f}.cert span{color:var(--muted);margin-top:8px;font-size:13px;line-height:1.45;display:block}.cert span b{color:var(--ink);font-weight:600;display:block}.tindex{border-top:1px solid var(--line);counter-reset:tool;margin:0;padding:0;list-style:none}.tindex a{border-bottom:1px solid var(--line);transition:background .2s, padding .25s var(--ease);grid-template-columns:48px 1fr 1fr 200px 24px;align-items:center;gap:16px;padding:16px 8px;display:grid}.tindex a:hover{background:var(--plum-tint);padding-left:16px}.tindex .n{color:var(--coral);font-size:13px;font-weight:600}.tindex .nm{color:var(--ink);font-weight:600}.tindex .st{color:var(--muted);font-size:14px}.tindex .status{justify-self:start;margin:0}.tindex .arrow{color:var(--plum);transition:transform .2s var(--ease)}.tindex a:hover .arrow{transform:translate(4px)}.status{border:1px solid var(--line);color:var(--muted);border-radius:999px;align-self:flex-start;margin-top:auto;padding:3px 10px;font-size:12px;font-weight:500}.status.link{border-color:var(--plum);color:var(--plum)}.outside{grid-template-columns:repeat(3,1fr);gap:22px;display:grid}.outside div{border-top:3px solid var(--plum);padding-top:14px}.outside h3{margin-bottom:6px}.outside p{color:var(--muted);margin:0;font-size:15px}.contact{background:var(--warm);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:96px}.contact .wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;padding:48px 28px;display:flex}.contact h2{margin-top:8px}.contact p{margin:6px 0 0}dialog.contact-dialog{border:0;border-radius:22px;width:min(440px,100% - 32px);padding:0;box-shadow:0 30px 60px #1e1a1d40}dialog.contact-dialog[open]{animation:panel-in .3s var(--ease)}dialog.contact-dialog::backdrop{background:#1e1a1d73}.cd{padding:28px}.cd h2{margin:6px 0 18px;font-size:24px}.cd a.line{border:1px solid var(--line);border-radius:14px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;padding:14px 16px;transition:border-color .2s,background .2s;display:flex}.cd a.line:hover{border-color:var(--plum);background:var(--plum-tint)}.cd a.line span{color:var(--muted);font-size:13px}.cd a.line b{color:var(--ink);font-weight:500}.cd .close{justify-content:center;width:100%;margin-top:8px}footer.foot{color:var(--muted);padding:28px 0 56px;font-size:13px}.case-hero{border-bottom:1px solid var(--line);isolation:isolate;padding:56px 0 40px;position:relative;overflow:hidden}.case-hero:after{content:"";filter:blur(80px);opacity:.3;z-index:-1;background:#fed7dc;border-radius:50%;width:480px;height:480px;position:absolute;top:-240px;right:-120px}.case-hero .back{color:var(--muted);margin-bottom:20px;font-size:14px;display:inline-block}.case-hero .back:hover{color:var(--plum)}.case-hero h1{max-width:860px;margin-top:10px;font-size:clamp(32px,4.6vw,46px)}.case-hero .meta{color:var(--muted);margin:0 0 18px}.case-hero .note{color:var(--muted);margin-top:12px;font-size:14px}.sao{border:1px solid var(--line);background:#fff;border-radius:18px;grid-template-columns:repeat(3,1fr);margin-top:40px;display:grid}.sao div{padding:26px 28px}.sao div+div{border-left:1px solid var(--line)}.sao h4{letter-spacing:.16em;text-transform:uppercase;color:var(--coral);margin-bottom:10px;font-size:12px;font-weight:600}.sao p{color:var(--ink);margin:0}.case-section{padding-top:64px}.case-section>h2{margin-bottom:22px;font-size:26px}.case-section .intro{max-width:760px;margin-bottom:22px}.timeline{margin:0;padding:0 0 0 4px;list-style:none;position:relative}.timeline:before{content:"";background:linear-gradient(var(--orange), var(--coral), var(--plum));transform-origin:top;border-radius:2px;width:2px;position:absolute;top:8px;bottom:8px;left:9px}.timeline li{grid-template-columns:150px 1fr;gap:18px;padding:0 0 22px 36px;display:grid;position:relative}.timeline li:before{content:"";border:3px solid var(--plum);box-sizing:border-box;background:#fff;border-radius:50%;width:20px;height:20px;position:absolute;top:6px;left:0}.timeline .when{color:var(--plum);font-size:15px;font-weight:600}.js .timeline:before{transition:transform 1.2s var(--ease);transform:scaleY(0)}.js .timeline.in:before{transform:scaleY(1)}.modules{grid-template-columns:repeat(4,1fr);gap:18px;display:grid}.modules div{background:var(--plum-tint);transition:transform .25s var(--ease);border-radius:16px;padding:20px}.modules div:hover{transform:translateY(-3px)}.modules h3{color:var(--plum);margin-bottom:8px}.modules p{color:var(--ink);margin:0;font-size:15px}.gallery{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.gallery.tall{grid-template-columns:repeat(5,1fr)}.gallery figure{margin:0}.gallery img{aspect-ratio:4/3;object-fit:cover;border:1px solid var(--line);background:var(--plum-tint);border-radius:14px;width:100%}.gallery.tall img{aspect-ratio:9/16;object-position:top}.gallery figcaption{color:var(--muted);margin-top:8px;font-size:13px}.yt{aspect-ratio:16/9;cursor:pointer;color:#fff;width:100%;max-width:900px;font:inherit;background:radial-gradient(120% 120% at 15% 10%, #9a2c7a 0%, var(--plum) 45%, var(--plum-deep) 100%);border:0;border-radius:18px;padding:0;display:block;position:relative;overflow:hidden}.yt .play{width:76px;height:76px;color:var(--plum);transition:transform .25s var(--ease);background:#fff;border-radius:50%;justify-content:center;align-items:center;margin:-38px 0 0 -38px;padding-left:4px;font-size:26px;display:flex;position:absolute;top:50%;left:50%}.yt:hover .play{transform:scale(1.08)}.yt .cap{text-align:left;position:absolute;bottom:20px;left:24px}.yt .cap b{font-size:18px;font-weight:600;display:block}.yt .cap span{opacity:.85;font-size:14px}.yt iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.yt-note{color:var(--muted);margin-top:10px;font-size:13px}.list{margin:0;padding-left:20px}.list li{margin-bottom:10px}.callout{background:var(--warm);border:1px solid var(--line);border-left:4px solid var(--plum);border-radius:0;padding:22px 26px}.callout p{margin:0}.next{flex-wrap:wrap;justify-content:space-between;gap:20px;padding-top:64px;display:flex}.next a{color:var(--plum);font-weight:500}.tool-list{grid-template-columns:repeat(2,1fr);gap:20px;margin-top:40px;display:grid}.tool{border:1px solid var(--line);background:#fff;border-radius:16px;flex-direction:column;padding:22px;scroll-margin-top:90px;display:flex}.tool h3{font-size:20px}.tool .stack{color:var(--muted);margin:4px 0 12px;font-size:13px}.tool .what{color:var(--ink)}.tool .why{color:var(--plum);font-size:15px}.tool .pics{grid-template-columns:repeat(2,1fr);gap:10px;margin:6px 0 14px;display:grid}.tool .pics img{aspect-ratio:4/3;object-fit:cover;border-radius:10px}.tool:target{border-color:var(--plum);box-shadow:0 0 0 3px var(--plum-tint)}.js [data-reveal]{opacity:0;transition:opacity .7s var(--ease), transform .7s var(--ease);transform:translateY(16px)}.js [data-reveal]:nth-child(2){transition-delay:70ms}.js [data-reveal]:nth-child(3){transition-delay:.14s}.js [data-reveal]:nth-child(4){transition-delay:.21s}.js [data-reveal]:nth-child(5){transition-delay:.28s}.js [data-reveal]:nth-child(n+6){transition-delay:.35s}.js [data-reveal].in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.js [data-reveal],.js .chart .bar,.js .chart .lbl,.js .timeline:before{opacity:1;transform:none}html{scroll-behavior:auto}}@media (width<=900px){.hero .grid{grid-template-columns:1fr;gap:28px;padding-top:40px}.portrait{max-width:230px}.facts{grid-template-columns:repeat(2,1fr)}.facts div:nth-child(3){border-left:0}.facts div:nth-child(n+3){border-top:1px solid var(--line)}.capab{grid-template-columns:1fr}.capab .tabs{grid-template-columns:repeat(2,1fr)}.cards{grid-template-columns:1fr}.card.featured{flex-direction:column;grid-column:auto}.card.featured .ph{flex:none;height:200px}.modules,.outside{grid-template-columns:repeat(2,1fr)}.row{grid-template-columns:1fr;gap:4px}.row .side{text-align:left}.tindex a{grid-template-columns:36px 1fr 24px}.tindex .st,.tindex .status{display:none}.sao{grid-template-columns:1fr}.sao div+div{border-left:0;border-top:1px solid var(--line)}.gallery{grid-template-columns:repeat(2,1fr)}.gallery.tall{grid-template-columns:repeat(3,1fr)}.tool-list{grid-template-columns:1fr}}@media (width<=760px){.chart .desk{display:none}.chart .mob{display:block}.nav .links,.nav .cta{display:none}.menu{display:block}}@media (width<=560px){.wrap{padding:0 20px}.portrait{max-width:190px}.capab .tabs,.modules,.outside{grid-template-columns:1fr}.gallery.tall{grid-template-columns:repeat(2,1fr)}.timeline li{grid-template-columns:1fr;gap:2px}.facts b{font-size:22px}.facts div{padding:18px}.chart{padding:14px 10px 12px}}
