*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;background:#FFFFFF;color:#0F172A;font-family:'Plus Jakarta Sans',system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased}
h1,h2,h3{text-wrap:balance}
p{text-wrap:pretty}
:focus-visible{outline:2px solid #F2600C;outline-offset:2px}
.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}


/* ================= the site ================= */
.rp{--bg:#FFFFFF;--s2:#F6F7F9;--s3:#EEF0F3;--ink:#0F172A;--ink2:#243047;--muted:#5B6B82;--faint:#94A3B8;--line:#E6EAF0;--line2:#D5DCE6;
    --o:#CF4A0C;--o-dk:#B03E08;--o-br:#F2600C;--o-soft:#FFE2CF;--o-tint:#FFF6F0;
    --ic-s:#243047;--ic-f:#FFE2CF;--ic-a:#F2600C;
    --r:14px;--r-sm:10px;--r-xs:8px;
    --sh:0 1px 2px rgba(11,18,32,.04),0 10px 30px -14px rgba(11,18,32,.14);
    --sh-up:0 2px 6px rgba(11,18,32,.05),0 18px 40px -24px rgba(11,18,32,.18);
    background:var(--bg);color:var(--ink);font-family:'Plus Jakarta Sans',system-ui,sans-serif}
.rp .wrap{max-width:1280px;margin:0 auto;padding-inline:clamp(16px,4vw,40px)}
.rp .bn{font-family:'Noto Sans Bengali','Plus Jakarta Sans',sans-serif}
.rp [id]{scroll-margin-top:84px}

/* icons: flat drawings coloured from the site's variables */
.ic{display:block;fill:none;stroke:var(--ic-s);stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
.ic *{vector-effect:non-scaling-stroke}
.ic .f{fill:var(--ic-f)}
.ic .w{fill:#FFFFFF}
.ic .a{fill:var(--ic-a);stroke:var(--ic-a)}
.ic .k{fill:var(--ic-s)}
.ic .s{stroke:var(--ic-a)}
.ic .o{stroke-opacity:.45}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:12px 22px;font:inherit;font-size:15px;font-weight:600;
  text-decoration:none;border:1px solid transparent;border-radius:var(--r-sm);cursor:pointer;transition:background .15s,border-color .15s,color .15s}
.btn-o{background:var(--o);color:#fff}
.btn-o:hover{background:var(--o-dk)}
.btn-line{background:#fff;color:var(--ink);border-color:var(--line2)}
.btn-line:hover{border-color:var(--o-br);color:var(--o-dk)}
.btn-b{width:100%}
.more{display:inline-flex;align-items:center;gap:6px;font-size:14.5px;font-weight:600;color:var(--o-dk);text-decoration:none}
.more svg{width:16px;height:16px;transition:transform .15s}
.more:hover svg{transform:translateX(3px)}

.util{background:var(--s2);border-bottom:1px solid var(--line);font-size:13px;color:var(--muted)}
.util .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 18px;padding-block:8px}
.util nav{display:flex;gap:18px;flex-wrap:wrap}
.util a{color:var(--ink2);text-decoration:none}
.util a:hover{color:var(--o-dk)}

.site-hd .wrap{display:flex;align-items:center;gap:clamp(14px,3vw,28px);flex-wrap:wrap;padding-block:16px}
.logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-family:'Outfit',sans-serif;font-weight:700;font-size:26px;letter-spacing:-.02em;color:var(--ink)}
.logo-mark{width:32px;height:32px;border-radius:9px;background:var(--o-br);display:grid;place-items:center}
.logo-mark svg{width:18px;height:18px}
.search{flex:1 1 420px;min-width:0;display:flex;border:2px solid var(--o-br);border-radius:var(--r-sm);overflow:hidden;background:#fff}
.search:focus-within{box-shadow:0 0 0 3px var(--o-soft)}
.search select{flex-shrink:0;max-width:180px;border:0;border-right:1px solid var(--line);background:var(--s2);font:inherit;font-size:14px;color:var(--ink2);padding:0 10px;cursor:pointer}
.search input{flex:1;min-width:0;height:46px;border:0;padding:0 14px;font:inherit;font-size:15px;color:var(--ink)}
.search input::placeholder{color:#7A8799}
.search input:focus,.search select:focus{outline:none}
.search button{flex-shrink:0;border:0;background:var(--o);color:#fff;font:inherit;font-weight:600;font-size:15px;padding:0 22px;cursor:pointer}
.search button:hover{background:var(--o-dk)}
.search-msg{flex-basis:100%;margin:0;font-size:13.5px;color:var(--o-dk)}
@media (max-width:600px){.search select{display:none}}

.catnav{border-bottom:1px solid var(--line)}
.catnav .wrap{display:flex;align-items:center;gap:4px 22px;flex-wrap:wrap;padding-block:4px}
.catnav a{font-size:14px;font-weight:500;color:var(--ink2);text-decoration:none;padding:9px 0}
.catnav a:hover{color:var(--o-dk)}
.catnav a.all{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--ink)}
.catnav a.all svg{width:18px;height:18px}

/* hero */
.hero .wrap{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,4vw,56px);align-items:center;padding-block:clamp(32px,5vw,60px)}
.pill{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--o-dk);background:var(--o-tint);border:1px solid var(--o-soft);border-radius:999px;padding:6px 12px}
.h1{margin:16px 0 0;font-family:'Outfit',sans-serif;font-weight:700;font-size:clamp(34px,4.6vw,56px);line-height:1.06;letter-spacing:-.025em;color:var(--ink)}
.h1 em{font-style:normal;color:var(--o)}
.lead{margin:18px 0 0;max-width:36em;font-size:clamp(16px,1.5vw,18px);line-height:1.62;color:var(--muted)}
.popular{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:24px;font-size:14px;color:var(--muted)}
.popular a{font-size:13.5px;font-weight:500;color:var(--ink2);background:var(--s2);border:1px solid var(--line);border-radius:999px;padding:6px 12px;text-decoration:none}
.popular a:hover{border-color:var(--o-br);color:var(--o-dk)}
.trust{display:flex;flex-wrap:wrap;gap:10px 24px;margin:26px 0 0;padding:0;list-style:none}
.trust li{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--ink2)}
.trust svg{width:18px;height:18px;color:var(--o-br);flex-shrink:0}
.rfq{background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-up);padding:clamp(20px,2.4vw,28px);display:grid;gap:14px}
.rfq h2{margin:0;font-family:'Outfit',sans-serif;font-weight:600;font-size:22px;color:var(--ink)}
.rfq .sub{margin:-6px 0 2px;font-size:14px;line-height:1.5;color:var(--muted)}
.field{display:flex;flex-direction:column;gap:6px;min-width:0}
.field label{font-size:13px;font-weight:600;color:var(--ink2)}
.field input,.field select{width:100%;height:46px;padding:0 12px;font:inherit;font-size:15px;color:var(--ink);background:#fff;border:1px solid var(--line2);border-radius:var(--r-xs)}
.field input::placeholder{color:#7A8799}
.field input:focus,.field select:focus{outline:none;border-color:var(--o-br);box-shadow:0 0 0 3px var(--o-soft)}
.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.status{margin:0;font-size:13.5px;color:var(--o-dk)}
@media (max-width:900px){.hero .wrap{grid-template-columns:1fr}}
@media (max-width:420px){.two{grid-template-columns:1fr}}

/* sections */
.sec{padding-block:clamp(44px,6vw,76px)}
.sec.grey{background:var(--s2);border-block:1px solid var(--line)}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:24px}
.h2{margin:0;font-family:'Outfit',sans-serif;font-weight:600;font-size:clamp(24px,2.6vw,32px);letter-spacing:-.02em;color:var(--ink)}
.sec-head p{margin:6px 0 0;max-width:42em;font-size:15.5px;line-height:1.55;color:var(--muted)}

/* render slots: where the studio renders go */
.render{position:relative;margin:0;background:#F1F3F6;display:grid;place-items:center;overflow:hidden}
.render .ic{position:relative;z-index:1;width:48%;height:auto;max-width:280px;stroke-width:2.4px}
.render-tag{position:absolute;left:10px;top:10px;z-index:2;font-size:11.5px;font-weight:600;color:var(--muted);background:rgba(255,255,255,.92);border:1px solid var(--line);border-radius:999px;padding:3px 9px}
.render.ph{background:#E9EDF2}
.render img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}

.feat{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.feat a{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;text-decoration:none;transition:border-color .15s,box-shadow .15s}
.feat a:hover{border-color:var(--o-soft);box-shadow:var(--sh-up)}
.feat .render{aspect-ratio:16/10}
.feat .fb{padding:16px 18px 18px;display:flex;flex-direction:column;gap:4px}
.feat h3{margin:0;font-family:'Outfit',sans-serif;font-weight:600;font-size:19px;color:var(--ink)}
.feat p{margin:0;font-size:14px;line-height:1.5;color:var(--muted)}
.feat .go{margin-top:8px;font-size:14px;font-weight:600;color:var(--o-dk)}
@media (max-width:900px){.feat{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.feat{grid-template-columns:1fr}}

/* all categories */
.jump{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px}
.jump a{font-size:13.5px;font-weight:600;color:var(--ink2);background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 14px;text-decoration:none}
.jump a:hover{border-color:var(--o-br);color:var(--o-dk)}
.sector{display:grid;grid-template-columns:210px minmax(0,1fr);gap:20px;padding-block:22px;border-top:1px solid var(--line2)}
.sector:first-child{border-top:0;padding-top:0}
.sector h3{margin:0;font-family:'Outfit',sans-serif;font-weight:600;font-size:18px;line-height:1.3;color:var(--ink)}
.sector .cnt{display:block;margin-top:4px;font-size:13px;color:var(--muted)}
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:12px}
.tile{display:flex;flex-direction:column;align-items:center;gap:10px;padding:16px 10px 14px;background:#fff;border:1px solid var(--line);border-radius:var(--r-sm);
  text-decoration:none;text-align:center;transition:border-color .15s,box-shadow .15s,transform .15s}
.tile:hover{border-color:var(--o-br);box-shadow:var(--sh);transform:translateY(-2px)}
.tile .icw{width:64px;height:64px;border-radius:50%;background:var(--o-tint);display:grid;place-items:center}
.tile .ic{width:44px;height:44px}
.tile .nm{font-size:13.5px;font-weight:600;line-height:1.3;color:var(--ink)}
@media (max-width:760px){.sector{grid-template-columns:1fr;gap:12px}}
@media (max-width:400px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}

.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.step{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px}
.step .n{width:38px;height:38px;border-radius:50%;background:var(--o-tint);color:var(--o-dk);font-family:'Outfit',sans-serif;font-weight:700;font-size:17px;display:grid;place-items:center;margin-bottom:16px}
.step h3{margin:0 0 8px;font-family:'Outfit',sans-serif;font-weight:600;font-size:18px;color:var(--ink)}
.step p{margin:0;font-size:14.5px;line-height:1.6;color:var(--muted)}
@media (max-width:1000px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.steps{grid-template-columns:1fr}}

.split{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(20px,3vw,40px);align-items:start}
.checks{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.checks li{display:grid;grid-template-columns:24px 1fr;gap:14px;padding-block:16px;border-bottom:1px solid var(--line);font-size:15.5px;font-weight:600;color:var(--ink)}
.checks svg{width:22px;height:22px;color:var(--o-br)}
.checks small{display:block;margin-top:3px;font-size:14px;font-weight:400;color:var(--muted)}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px}
.card h3{margin:0;font-family:'Outfit',sans-serif;font-weight:600;font-size:18px;color:var(--ink)}
.terms{margin:12px 0 0}
.terms div{display:flex;justify-content:space-between;gap:16px;padding-block:12px;border-bottom:1px solid var(--line);font-size:14.5px}
.terms div:last-child{border-bottom:0}
.terms dt{color:var(--muted)}
.terms dd{margin:0;font-weight:600;color:var(--ink);text-align:right}
@media (max-width:900px){.split{grid-template-columns:1fr}}

.bridges{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.bridge{display:flex;gap:18px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px}
.bridge .icw{flex-shrink:0;width:56px;height:56px;border-radius:50%;background:var(--o-tint);display:grid;place-items:center}
.bridge .ic{width:38px;height:38px}
.bridge h3{margin:0 0 6px;font-family:'Outfit',sans-serif;font-weight:600;font-size:20px;color:var(--ink)}
.bridge h3.bn{font-family:'Noto Sans Bengali',sans-serif}
.bridge p{margin:0 0 12px;font-size:14.5px;line-height:1.6;color:var(--muted)}
.bridge p.bn{line-height:1.85}
@media (max-width:760px){.bridges{grid-template-columns:1fr}}

.site-ft{background:var(--s2);border-top:1px solid var(--line);padding-block:clamp(40px,5vw,60px) 24px}
.ft-top{display:grid;grid-template-columns:minmax(0,4fr) repeat(3,minmax(0,2fr));gap:28px}
.site-ft p{margin:12px 0 0;max-width:24em;font-size:14px;line-height:1.6;color:var(--muted)}
.site-ft h4{margin:0 0 12px;font-family:'Outfit',sans-serif;font-weight:600;font-size:15px;color:var(--ink)}
.site-ft ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.site-ft a{font-size:14px;color:var(--ink2);text-decoration:none}
.site-ft a:hover{color:var(--o-dk)}
.ft-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:36px;padding-top:18px;border-top:1px solid var(--line2);font-size:13px;color:var(--muted)}
.ft-credits{margin-top:28px;font-size:12.5px;line-height:1.55;color:var(--muted)}
.ft-credits summary{cursor:pointer;font-weight:600;color:var(--ink2)}
.ft-credits ul{margin:10px 0 0;padding-left:18px;columns:2;column-gap:32px}
.ft-credits li{margin-bottom:6px;break-inside:avoid}
.ft-credits a{color:inherit}
@media (max-width:700px){.ft-credits ul{columns:1}}
@media (max-width:860px){.ft-top{grid-template-columns:repeat(2,minmax(0,1fr))}.ft-brand{grid-column:1/-1}}

/* category page */
.crumb{padding-top:18px;font-size:13px;color:var(--muted)}
.crumb a{color:var(--ink2);text-decoration:none}
.crumb a:hover{color:var(--o-dk)}
.crumb .sep{margin:0 7px;color:var(--faint)}
.c-top{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(20px,3.4vw,44px);align-items:start;padding-block:16px clamp(32px,4vw,48px)}
.c-gallery .render.big{aspect-ratio:4/3;border:1px solid var(--line);border-radius:var(--r)}
.thumbs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px}
.thumbs figure{margin:0}
.thumbs .render{aspect-ratio:1;border:1px solid var(--line);border-radius:var(--r-sm)}
.thumbs .render .render-tag{display:none}
.thumbs .t2 .ic{width:92%;transform:translate(8%,10%)}
.thumbs .t3 .ic{transform:scaleX(-1);width:40%}
.thumbs figcaption{margin-top:6px;font-size:12px;color:var(--muted);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.c-gallery .cap a{color:var(--ink2)}
.cap{margin:10px 0 0;font-size:13px;line-height:1.5;color:var(--muted)}
.c-sector{margin:0;font-size:13.5px;font-weight:600;color:var(--o-dk)}
.c-h1{margin:8px 0 0;font-family:'Outfit',sans-serif;font-weight:700;font-size:clamp(28px,3.4vw,42px);line-height:1.1;letter-spacing:-.02em;color:var(--ink)}
.c-lead{margin:12px 0 0;font-size:16.5px;line-height:1.6;color:var(--muted)}
.c-rfq{margin-top:22px}
.c-body{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:clamp(20px,3vw,40px);align-items:start;padding-bottom:clamp(32px,4vw,52px)}
.c-block{padding-block:24px;border-top:1px solid var(--line)}
.c-block:first-child{border-top:0;padding-top:4px}
.c-block h2{margin:0 0 12px;font-family:'Outfit',sans-serif;font-weight:600;font-size:22px;color:var(--ink)}
.c-block > p{margin:0 0 12px;max-width:64ch;font-size:15.5px;line-height:1.7;color:var(--ink2)}
.c-block > p.ph{color:var(--muted);font-style:italic}
.faq details{border-top:1px solid var(--line);padding-block:14px}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{display:flex;justify-content:space-between;gap:14px;cursor:pointer;list-style:none;font-size:15.5px;font-weight:600;color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex-shrink:0;font-size:19px;font-weight:700;line-height:1;color:var(--o-br)}
.faq details[open] summary::after{content:"\2212"}
.faq details p{margin:10px 0 0;font-size:15px;line-height:1.65;color:var(--muted)}
.c-side{display:grid;gap:16px}
.tag{display:inline-block;font-size:12px;font-weight:600;color:var(--o-dk);background:var(--o-tint);border:1px solid var(--o-soft);border-radius:999px;padding:3px 10px;white-space:nowrap}
.card-h{display:flex;align-items:center;justify-content:space-between;gap:10px}
.card .sm{margin:10px 0 4px;font-size:14px;line-height:1.55;color:var(--muted)}
.partners{list-style:none;margin:0;padding:0}
.partners li{display:flex;align-items:center;gap:12px;padding-block:12px;border-top:1px solid var(--line);font-size:14.5px}
.partners .pl{flex-shrink:0;width:40px;height:40px;border-radius:var(--r-xs);background:var(--s3)}
.partners b{display:block;font-weight:600;color:var(--ink)}
.partners span.m{font-size:13px;color:var(--muted)}
.c-related{padding-bottom:clamp(44px,5vw,68px)}
@media (max-width:960px){.c-top,.c-body{grid-template-columns:1fr}}

/* assistant */
.chat-launch{position:fixed;right:max(16px,env(safe-area-inset-right,0px));bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:70;display:inline-flex;align-items:center;gap:10px;
  min-height:48px;padding:12px 18px;font:inherit;font-size:14.5px;font-weight:600;cursor:pointer;border:0;border-radius:999px;background:var(--o);color:#fff;box-shadow:0 10px 26px rgba(15,23,42,.2)}
.chat-launch:hover{background:var(--o-dk)}
.chat-launch svg{width:18px;height:18px}
.chat-panel{position:fixed;right:max(16px,env(safe-area-inset-right,0px));bottom:calc(80px + env(safe-area-inset-bottom,0px));z-index:71;width:min(372px,calc(100vw - 32px));
  max-height:min(560px,calc(100vh - 190px));display:flex;flex-direction:column;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:0 24px 60px rgba(15,23,42,.24)}
.chat-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 12px 14px 16px;background:var(--o);color:#fff}
.chat-head b{display:block;font-size:15px}
.chat-head small{display:block;margin-top:2px;font-size:12px;opacity:.9}
.chat-x{background:none;border:0;padding:0;cursor:pointer;min-width:40px;min-height:40px;display:inline-flex;align-items:center;justify-content:center;color:inherit}
.chat-body{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;background:var(--s2)}
.msg{margin:0;max-width:86%;padding:10px 13px;font-size:14px;line-height:1.5;border-radius:12px}
.msg.a{align-self:flex-start;background:#fff;border:1px solid var(--line);color:var(--ink)}
.msg.u{align-self:flex-end;background:var(--o);color:#fff}
.chat-foot{display:flex;flex-wrap:wrap;gap:8px;padding:12px;border-top:1px solid var(--line)}
.chat-foot input{flex:1;min-width:0;height:44px;padding:0 12px;font:inherit;font-size:14px;border:1px solid var(--line2);border-radius:var(--r-xs)}
.chat-foot button{height:44px;padding:0 16px;font:inherit;font-size:14px;font-weight:600;border:0;border-radius:var(--r-xs);background:var(--o);color:#fff;cursor:pointer}
.chat-foot .status{flex-basis:100%}

/* model: managed or board, one entry form */
.mode{border:0;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.opt{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line2);border-radius:var(--r-xs);padding:10px 12px;cursor:pointer}
.opt input{margin:3px 0 0;accent-color:var(--o)}
.opt b{display:block;font-size:14px;color:var(--ink)}
.opt small{display:block;font-size:12.5px;line-height:1.4;color:var(--muted)}
.opt:has(input:checked){border-color:var(--o-br);background:var(--o-tint)}
.alt-line{margin:0;font-size:13.5px;color:var(--muted)}
.alt-line a{color:var(--o-dk);font-weight:600}
@media (max-width:420px){.mode{grid-template-columns:1fr}}
.cn-right{margin-left:auto;display:flex;gap:22px;flex-wrap:wrap}
.cn-right a{font-weight:600;color:var(--ink)}

.ways{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.way{position:relative;display:flex;flex-direction:column;gap:12px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:clamp(22px,2.6vw,30px)}
.way.rec{border:2px solid var(--o-br)}
.way .badge{position:absolute;top:-12px;left:22px;font-size:12px;font-weight:700;color:#fff;background:var(--o);border-radius:999px;padding:4px 12px}
.way h3{margin:0;font-family:'Outfit',sans-serif;font-weight:600;font-size:22px;color:var(--ink)}
.way p{margin:0;font-size:15px;line-height:1.6;color:var(--muted)}
.way ul{list-style:none;margin:4px 0 6px;padding:0;display:grid;gap:8px}
.way li{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;font-weight:600;color:var(--ink2)}
.way li svg{width:18px;height:18px;flex-shrink:0;margin-top:1px;color:var(--o-br)}
.way .btn{align-self:flex-start;margin-top:auto}
@media (max-width:820px){.ways{grid-template-columns:1fr}}

/* product grids, image first */
.pgrid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.pcard{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden;text-decoration:none;transition:border-color .15s,box-shadow .15s}
.pcard:hover{border-color:var(--o-soft);box-shadow:var(--sh)}
.pcard .render{aspect-ratio:1}
.pcard .render .ic{width:56%}
.pcard .render-tag{font-size:10.5px;left:8px;top:8px}
.pcard .pb{display:flex;flex-direction:column;gap:3px;padding:10px 12px 12px}
.pcard .pn{font-size:14px;font-weight:600;line-height:1.35;color:var(--ink)}
.pcard .pc{font-size:12.5px;color:var(--muted)}
.pcard .pq{margin-top:4px;font-size:13px;font-weight:600;color:var(--o-dk)}
@media (max-width:1100px){.pgrid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:700px){.pgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.c-products{padding-bottom:clamp(32px,4vw,48px)}

/* requirement board */
.board{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.board-h{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 18px;background:var(--s2);border-bottom:1px solid var(--line)}
.board-h b{font-family:'Outfit',sans-serif;font-weight:600;font-size:16px;color:var(--ink)}
.brow{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 18px;border-bottom:1px solid var(--line)}
.brow .icw{width:44px;height:44px;border-radius:50%;background:var(--o-tint);display:grid;place-items:center}
.brow .icw .ic{width:30px;height:30px}
.brow .bt{font-size:15px;font-weight:600;color:var(--ink)}
.brow .bm{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:3px;font-size:13px;color:var(--muted)}
.lockbtn{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:8px 12px;font:inherit;font-size:13.5px;font-weight:600;color:var(--ink2);background:#fff;
  border:1px solid var(--line2);border-radius:var(--r-xs);text-decoration:none;white-space:nowrap}
.lockbtn svg{width:15px;height:15px}
.lockbtn:hover{border-color:var(--o-br);color:var(--o-dk)}
.board-f{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;background:var(--o-tint);border-top:1px solid var(--o-soft);font-size:14px;color:var(--ink2)}
.ex{font-size:12px;font-weight:600;color:var(--muted);background:#fff;border:1px solid var(--line);border-radius:999px;padding:3px 10px;white-space:nowrap}
.card .brow{grid-template-columns:36px minmax(0,1fr);padding:12px 0;border-bottom:1px solid var(--line)}
.card .brow .icw{width:36px;height:36px}
.card .brow .icw .ic{width:24px;height:24px}
.card .brow .bt{font-size:14px}
@media (max-width:560px){.brow{grid-template-columns:36px minmax(0,1fr)}.brow .lockbtn{grid-column:1/-1;justify-self:start}}

/* gated directory */
.dir{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.dir-tabs{display:flex;flex-wrap:wrap;gap:6px;padding:14px 18px;background:var(--s2);border-bottom:1px solid var(--line)}
.dir-tabs span{font-size:13px;font-weight:600;color:var(--ink2);background:#fff;border:1px solid var(--line);border-radius:999px;padding:5px 12px}
.dir-tabs span.on{color:#fff;background:var(--ink2);border-color:var(--ink2)}
.drows{filter:blur(5px);user-select:none;pointer-events:none}
.drow{display:grid;grid-template-columns:48px minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:center;padding:14px 18px;border-bottom:1px solid var(--line);font-size:14px;color:var(--ink2)}
.drow .pl{width:48px;height:48px;border-radius:var(--r-xs);background:var(--s3)}
.drow b{color:var(--ink)}
.gate{position:absolute;left:50%;top:56%;transform:translate(-50%,-50%);width:min(440px,calc(100% - 32px));display:grid;gap:10px;justify-items:center;text-align:center;
  background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-up);padding:24px}
.gate .lk{width:44px;height:44px;border-radius:50%;background:var(--o-tint);display:grid;place-items:center;color:var(--o-dk)}
.gate .lk svg{width:22px;height:22px}
.gate h3{margin:0;font-family:'Outfit',sans-serif;font-weight:600;font-size:20px;color:var(--ink)}
.gate p{margin:0;font-size:14.5px;line-height:1.55;color:var(--muted)}
.gate .row2{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:6px}
.gate .fine{font-size:13px}
@media (max-width:560px){.drow{grid-template-columns:40px minmax(0,1fr)}.drow .hide{display:none}}
.locked-mini{position:relative}
.locked-mini .drow{grid-template-columns:40px minmax(0,1fr);padding:10px 0}
.locked-mini .drow .pl{width:40px;height:40px}
.locked-mini .gate{position:static;transform:none;width:100%;box-shadow:none;border:0;padding:12px 0 0;text-align:left;justify-items:start}

/* ================= production additions ================= */
.skip{position:absolute;left:-9999px;top:8px;z-index:200;background:#fff;color:#0F172A;padding:10px 14px;border-radius:8px}
.skip:focus{left:12px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.opt-l{font-weight:400;color:var(--faint)}
.field textarea{width:100%;padding:10px 12px;font:inherit;font-size:15px;color:var(--ink);background:#fff;border:1px solid var(--line2);border-radius:var(--r-xs);resize:vertical}
.field textarea:focus{outline:none;border-color:var(--o-br);box-shadow:0 0 0 3px var(--o-soft)}
.status.ok{color:#0F6B3A}.status.err{color:#B42318}
.status a{color:inherit}
.c-block h3{margin:18px 0 6px;font-family:'Outfit',sans-serif;font-weight:600;font-size:17px;color:var(--ink)}
.types{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 26px}
.types h3{margin:14px 0 4px}
.types p{margin:0;font-size:15px;line-height:1.65;color:var(--ink2)}
.spec{margin:0;border-top:1px solid var(--line)}
.spec div{display:grid;grid-template-columns:minmax(150px,2fr) 5fr;gap:4px 20px;padding-block:13px;border-bottom:1px solid var(--line)}
.spec dt{font-size:15px;font-weight:600;color:var(--ink)}
.spec dd{margin:0;font-size:15px;line-height:1.6;color:var(--ink2)}
.bul{margin:0;padding-left:20px;display:grid;gap:9px}
.bul li{font-size:15.5px;line-height:1.6;color:var(--ink2)}
.c-block > p + h3{margin-top:18px}
.side-note{margin:10px 0 0;font-size:14px;line-height:1.55;color:var(--muted)}
.card .row2{margin-top:14px}
.ft-mail a{color:var(--ink2);font-weight:600}
.ft-bottom a{color:inherit}
.pagehead{padding-block:clamp(28px,4vw,48px) 8px}
.pagehead .c-lead{max-width:62ch}
.pbody{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(20px,3vw,44px);align-items:start;padding-bottom:clamp(40px,5vw,64px)}
.prose h2{margin:26px 0 10px;font-family:'Outfit',sans-serif;font-weight:600;font-size:22px;color:var(--ink)}
.prose h2:first-child{margin-top:0}
.prose p,.prose li{font-size:15.5px;line-height:1.7;color:var(--ink2);max-width:66ch}
.prose ol,.prose ul{padding-left:20px}
.credits-list{columns:2;column-gap:36px;padding-left:18px}
.credits-list li{break-inside:avoid;margin-bottom:8px;font-size:14px;line-height:1.55;color:var(--muted)}
.credits-list a{color:var(--ink2)}
.chat-form{display:grid;gap:12px;padding:16px;overflow-y:auto}
.dir{background:none;border:0;overflow:visible}
.dir .gate{position:static;transform:none;margin:0 auto}
.chat-form .msg{margin:0}
@media (max-width:900px){.pbody{grid-template-columns:1fr}}
@media (max-width:640px){.spec div,.types{grid-template-columns:1fr}.credits-list{columns:1}}
